Учитывая сущность,Как предотвратить 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