Insertion de données dans une table enfant à l'aide de Linq to sql (Architecture à trois niveaux)

Je suis bloqué à un code simple dans asp.net Je veux insert des valeurs de string simples à 1 Table Parent (Accounts) et 1 Child Table (Applicant_bio). Maintenant, voici la chose, je suis capable de mettre des données dans la table parent mais quand j'essaye d'accéder à la table enfant, cela me donne l'erreur suivante:

The INSERT statement conflicted with the FOREIGN KEY constraint linq to sql 

J'ai explicitement mis les valeurs des deux Clés Primaires en correspondance donc il n'y a pas de conflit, car les tables ont une relation de 1 à 1. Voici mon code:

 public ssortingng Retreive_Applicants(Applicant_list user_details) { newDatabaseDataContext connection = new newDatabaseDataContext(); //Create a new instance of the applicant object account account = new account(); account.account_id = 1; account.account_type = "Applicant"; account.account_description = ""; account.account_title = user_details.account_title; account.account_password = user_details.account_password; connection.accounts.InsertOnSubmit(account); connection.SubmitChanges(); account.applicant_bio= new applicant_bio(); account.applicant_bio.account_id = account.account_id; //Here's Where I have explicitly set the account id of applicant_bio to account_id of accounts table just created account.applicant_bio.applicant_name = user_details.applicant_name; account.applicant_bio.applicant_age = user_details.applicant_age; account.applicant_bio.applicant_cnic = user_details.applicant_cnic; connection.applicant_bios.InsertOnSubmit(account.applicant_bio); connection.SubmitChanges(); //Here's where the error occurs return "success"; } 

Voici les détails de la database entrez la description de l'image ici

L'erreur se produit parce que linq comprend que, avec applicant_bio, vous essayez d'save aussi un nouvel object de count qui existe déjà, essayez de sauver à la fois cela fonctionne de cette façon:

 public ssortingng Retreive_Applicants(Applicant_list user_details) { newDatabaseDataContext connection = new newDatabaseDataContext(); //Create a new instance of the applicant object account account = new account(); account.account_id = 1; account.account_type = "Applicant"; account.account_description = ""; account.account_title = user_details.account_title; account.account_password = user_details.account_password; account.applicant_bio= new applicant_bio(); //You dont need this line any more //account.applicant_bio.account_id = account.account_id; account.applicant_bio.applicant_name = user_details.applicant_name; account.applicant_bio.applicant_age = user_details.applicant_age; account.applicant_bio.applicant_cnic = user_details.applicant_cnic; connection.accounts.InsertOnSubmit(account); connection.SubmitChanges(); return "success"; }