0
让我描述的行为,我得到:实体框架AddTo函数不一致?
- 负载从数据库中的用户:这意味着用户被附加到上下文
- 创建新的对象C:
- ÇtempC =新C();
- tempC.User =先前加载的用户;
- Context.AddToCSet(tempC);
- 最后一行引发异常,因为当设置属性用户时,该对象已添加到上下文中。
但如果我做到以下几点:
- 负载从数据库中的用户:这意味着用户被附加到上下文
- 创建新的对象C:
- C tempC = new C();
- tempC.User =先前加载的用户;
- Context.SaveChange();
- 创建具有与对象C.
- Ê坦佩=全新E的关系的新对象E();
- tempE.C =先前创建的C;
- Context.AddToESet(tempE);
它不抛出异常。我期待着一个例外,因为那时C被附加到上下文中,这应该与第一个例子相同。但事实并非如此。为什么,我能做些什么来保持一致性?
我打算在将它添加到集合之前检查对象的状态(EntityState == Detached),但我想我一定是做错了开始。
不知道,但一些代码显示你在做什么可以帮助这里。 – Odd 2009-01-28 00:56:49