0
鑑於實體,如何防止InvalidOperationException存儲實體的循環圖?
class A {
B DefaultB { get; set; }
C DefaultC { get; set; }
}
class B {
A { get; set; }
}
class C {
A { get; set; }
}
其中A.DefaultB
和A.DefaultC
是可選的,
modelBuilder.Entity<A>().HasOptional(x => x.DefaultB).WithMany();
modelBuilder.Entity<A>().HasOptional(x => x.DefaultC).WithMany();
什麼context.Set<T>().Add(...)
和context.SaveChanges()
組合將努力保存下列對象圖?
var b = new B();
var c = new C();
var a = new A { DefaultB = b, DefaultC = c, };
b.A = a;
c.A = a;
// now save these...
因爲它是現在,我得到一個InvalidOperationException
(收集修改,同時迭代),因爲EF does not seem to handle cycles very well。
我想我是這個原型爲你解答!證實。 – Kit