エンティティを更新するときに、関連するエンティティを持つエンティティを新しいコンテキストにアタッチすることに頭を抱いています。関連するエンティティを持つエンティティを新しいエンティティフレームワークコンテキストに添付する
私はPersonIDテーブルを持っています(PersonnelテーブルはPersonnelに一般化されています)。これにはLanguageIDフィールドがあります。このフィールドは、FKとしてEFを介して、主キー(1-M)としてLanguageIDを持つ別のテーブル言語にリンクされています。特定のPersons言語設定を更新する必要がありますが、以下の行に「IEntityChangeTrackerの複数のインスタンスで参照できないオブジェクト」というエラーが表示されるため、この関係は古いコンテキストにリンクされたままです。 Person(Person)エンティティの関係としてLanguageエンティティを新しいコンテキストに付加する方法はありますか?
エンティティは、()
は、preferredlanguageはPersonテーブルの上にNavigationProperty名では、preferredlanguageを返すように.INCLUDE()メソッドを使用する方法... orginal GetPersonnelに切り離されていなかった
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();
}
}
ありがとう Sean