【发布时间】:2011-10-13 15:55:44
【问题描述】:
鉴于实体,
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。
【问题讨论】:
标签: c# entity-framework entity-framework-4 cycle invalidoperationexception