3

我正在从 Silverlight 返回一个列表(自己的类)到服务,在这个列表中有更新值的旧实体和全新的实体,如何使用实体框架将其保存回数据库?

使用 cEnts.CardItems.AddObject 显然会给我重复。

4

2 回答 2

3

您想使用 Attach() 而不是 AddObject()。

Attach 将获取您的断开连接对象并让容器知道考虑更新它。将添加没有 PrimaryKey 的新对象。

于 2009-12-21T05:40:15.217 回答
1

如果您使用相同的实体上下文来选择和更新/插入,则必须调用 AddTo...() 方法来插入新实体并将 ApplyPropertyChanges 插入到更改的实体中。

如果您使用不同的上下文,问题会更加复杂,因为您必须将实体从一个上下文中分离出来并将它们附加到另一个上下文中。一旦分离的实体失去其更改的状态,您必须明确指定哪些属性已更改(有关更多信息,请查看:http ://www.abadjimarinov.net/blog/2009/12/13/AttachAlreadyChangedObjectToADataContextInEntityFramework.xhtml )。

于 2009-12-23T11:49:33.233 回答