J'essaie de comprendre comment associer une entité avec une entité associée à un nouveau contexte lorsque je souhaite mettre à jour l'entité.attacher une entité avec une entité associée à un contexte de nouvelle structure d'entité
J'ai une table Person (Generalized to Personnel), qui a un champ LanguageID. Ce champ est lié en tant que FK via l'EF à une autre table Langue avec LanguageID en tant que clé primaire (1-M). J'ai besoin de mettre à jour une préférence de langue particulière, cependant, la relation semble rester liée à l'ancien contexte car j'obtiens une erreur "L'objet ne peut pas être référencé par plusieurs instances d'IEntityChangeTracker" sur la ligne indiquée ci-dessous. Y at-il un moyen d'attacher l'entité Language au nouveau contexte en tant que relation de l'entité Personnel (Personne) ???
Les entités ne sont pas détachés dans la méthode orginal GetPersonnel() qui utilise une méthode .include() pour renvoyer le preferredLanguage
preferredLanguage est le nom NavigationProperty sur la table de personne ...
public static void UpdateUser(Personnel originalUser, Personnel newUser)
{
using (AdminModel TheModel = new AdminModel())
{
((IEntityWithChangeTracker)originalUser).SetChangeTracker(null);
((IEntityWithChangeTracker)originalUser.PreferredLanguage).SetChangeTracker(null);
TheModel.Attach(originalUser);--Error Line
TheModel.ApplyPropertyChanges("Person", newUser);
TheModel.SaveChanges();
}
}
Merci
Sean