2009-09-25 5 views
1

Je crée un objet appelé "lettre" auquel plusieurs "destinataires" sont ajoutés.Entity Framework - Les nouvelles entités avec de nouveaux enfants ne peuvent pas être ajoutées avec savechanges

Lorsque savechages est appelé sur le contexte, j'obtiens cette erreur. "Entités dans 'EchoEntities.LetterRecipients' participent à la relation 'FK_LetterRecipient_Letter' 0 'Lettre' connexe a été trouvée 1 'Lettre' est attendue."

De même, lorsque vous ajoutez un seul destinataire, cela fonctionne avec deux destinataires.

Code Raccourcissement:

using(Entites context = new Entities()) 
{ 
    Letter letter = new Letter 
    { 
     ID = Guid.NewGuid(), 
     details = "" 
    } 

    Recipient recip = new Recipient 
    { 
     ID = Guid.NewGuid, 
     Name = "Joe", 
     Address = "123 some rd", 
     City = "city", 
     State = "state", 
     Zip = "11111" 
    } 

    letter.Recipients.Add(recip); 


    recip = new Recipient 
    { 
     ID = Guid.NewGuid, 
     Name = "Bill", 
     Address = "123 some rd", 
     City = "city", 
     State = "state", 
     Zip = "11111" 
    } 

    letter.Recipients.Add(recip); 

    context.AddToLetters(letter); 
    context.SaveChanges(); 
} 
+0

J'ai le même problème. Avez-vous déjà résolu cela? – raytiley

Répondre

1

Je voulais juste faire une chose similaire dans EF v1 et je pense que vous devez déplacer les appels:

context.AddToLetters(letter); 
context.SaveChanges(); 

après avoir intialize l'objet letter. Vous devez également appeler context.SaveChanges(); à la toute fin.

Questions connexes