2010-10-22 4 views
1

Je suis en train d'ajouter un objet:Ajout "second objet de niveau" avec Entity Framework (C#)

Person (id, firstName, lastName) 

et un autre objet:

Details(id, personId, phoneNumber, address). 

Bien sûr, la colonne "id" dans Person and Details est incrémenté automatiquement. Et la clé étrangère "personId" est obligatoire dans Détails. J'utilise Entity Framework. J'ai créé quelques fonctions de base qui me permettent d'ajouter des objets enlever:

Person p = new Person(); 
p.firstName = "foo"; 
p.lastName = "bar"; 
this.context.addToPersons(p); // That works great 

Details d = new Details(); 
d.phoneNumber = "013245678"; 
d.adress = "there"; 
this.context.addToDetails(d); // This didn't work 

Bien sûr, la dernière instruction ne fonctionne pas comme le « personId » est nécessaire. Donc, la solution serait d'obtenir le "p" "id" quand le "p" est persistant et ensuite de le mettre manuellement dans la colonne "personId".

Comment puis-je faire cela?

Est-il possible de le faire:

p.details.addToDetails(d); 

puis donner au personId automatiquement? Si oui, comment puis-je le faire?

Merci,

Cordialement.

Répondre

0

Si vous configurez vos clés étrangères correctement et les relations travaillez, vous devriez être en mesure de dire simplement:

p.details.Add(d); 
Questions connexes