編集:
modelbinder にバインドされているオブジェクトを変更したため、変更が反映されないという問題が見つかりました。その場合、コンテキストによって追跡されません。
こんにちは
アプリケーションの仮想 ICollection に問題があります。エンティティに加えた変更を EF が自動的に保存するのは正しいですか? * *
たとえば、アイテムをリストに追加する (プレーヤーをチームに追加する) 場合、データベースに保存するためにリポジトリと dbset を使用しなくても機能しますか?
私はこのようなものを持っています
public int RayonId { get; set; }
public String Rayonnaam { get; set; }
public virtual ICollection<Duivenmelker> Duivenmelkers { get; set; }
public Rayon()
{
Duivenmelkers = new List<Duivenmelker>();
}
public void AddMelker(Duivenmelker m)
{
Duivenmelkers.Add(m);
}
上記のコードは、List をローカルでのみ変更します。しかし、変更をデータベースに保存しません。リポジトリを呼び出して新しいオブジェクトをデータベースに直接追加できますが、それは私が考える良い方法ではありません。
これが機能しない原因は何が間違っている可能性がありますか? * *
savechanges は 0 を返します (変更はないと考えられます)
今追加しました
c.Vluchten.Attach(v);
c.Entry(v).State = EntityState.Added;
これは明らかに機能しますが、明示的に彼に伝えずにEFが変更を認識しない理由はまだわかりません