让我描述一下我得到的行为:
但如果我执行以下操作:
它没有抛出异常。我期待一个例外,因为那时C被附加到上下文,这应该与第一个例子相同。但事实并非如此。为什么,以及如何才能保持一致?
我计划在将对象添加到集合之前检查对象的状态(EntityState == Detached),但我认为我必须做错事才能开始。
答案 0 :(得分:0)
假设User
和C
之间存在1对多的关系,您可能希望使用不同的语法将C
添加到父User
。您可能希望将tempC.User = previously loaded user;
添加为tempC
的子级,而不是User
。这就是我的意思:
C tempC = new C();
(previously created user).C.Add(tempC);
Context.AddToCSet(tempC);