situation similaire à: How to add several dependent records with LINQ2SQL (ce qui semble logique, mais cela ne fonctionne pas pour moi)linq2sql d'insérer des enregistrements aux tables connexes
ASP.NET MVC + Linq2SQL
J'ai 2 tables appelés défis et Participants
- défi {challengeId, ChallengeDesc, applicantId, respondantId}
- participants {participantId, nom, prénom}
Il y a 1 nombreuses relations entre les participants et les défis - 1 pour chaque touche (applicantId, RespondantId).
J'ai un formulaire de saisie qui recueille tous les champs pour créer un nouveau demandeur et répondant et le défi. Le Databinder lie tous les champs à Challenge et ses participants enfants correctement, cependant, les noms des objets participants ne correspondent pas aux noms de clés dans l'objet challenge lors de la navigation dans la structure créée par Linq2Sql (applicantId correspond à Participant objectant et respondantId correspond à Participant1 objet). Donc, quand j'essaie de SubmitChanges() après InsertOnSubmit (aChallenge), je reçois un message de validation de la contrainte foreign_key de Linq2Sql. Dans SQL Server Profiler, je peux voir que les participants sont créés correctement, mais lorsque le challenge est sauvegardé, les ID de ces participants nouvellement insérés ne sont pas définis sur l'objet challenge, donc le système envoie un message de violation de clé étrangère.
Comment puis-je obtenir plus tard?