J'utilise Entity Framework 4.Ajout d'objet à la collection de propriétés de navigation crée une nouvelle entité
J'essaie d'associer une nouvelle entité à une entité existante. Le système finit par créer une nouvelle entité enfant alors qu'en fait je veux simplement ajouter une référence à l'objet enfant au parent.
Il existe une relation plusieurs à plusieurs entre les deux entités, donc je ne peux pas simplement définir la propriété FK de l'entité parente. J'ai essayé parent.ChildCollection.Add (enfant) qui crée simplement un nouvel objet enfant dans la base de données. C'est ce que j'essaie d'éviter.
Je dois faire quelque chose qui ne va pas.
grâce
exemple de code mis à jour
Exemple de codepour mes autovirants-entités que je dois faire côté client En ce moment, j'ai quelque chose comme ça pour tous les enfants de serveur boucle puis jusqu'à trouver celui que je veux, puis l'ajouter à la collection d'objets
List<Service.Child> childs = _client.GetChildren();
Je dois boucle à travers cette collection pour trouver le bon d'ajouter à la pa collection rent.childs ie.
List<Service.Child> childList = new List<Service.Child>();
foreach (Service.Child child in childList) {
if (child.ChildId == childId)
childList.Add(child);
}
contact.Childs = childList;
J'utilise des entités auto-suivi (je ne sais pas comment cela peut affecter vos commentaires) ... mais oui j'essaie actuellement à la fois parent.ChildCollection.Attach (enfant) ainsi que child.ParentCollection.Attach (parent) Dans les deux cas, EF ajoute toujours de nouveaux objets/lignes enfants à la base de données. Cela m'a vraiment bloqué. – David
Pouvez-vous poster votre code s'il vous plaît? Si vous utilisez STE, Attacher n'existe même pas sur ChildCollection puisqu'il est de type 'TrackableCollection', donc je ne suis pas sûr de ce que vous faites exactement là-dedans. –
voir l'exemple de code ci-dessus – David