繁体   English   中英

实体框架:附加相关对象和其他 state 管理

[英]Entity Framework: Attaching related objects and other state management

我有一个首先使用实体框架代码的应用程序。 我正在尝试编写我的资源访问层。 我有几个对象,它们都有单独的数据库表和很多 object 关系。 有人可以向我指出具有相关对象的 CRUD 方法的最新示例吗? 我发现的所有内容都使用旧版本(我使用 DbContext,而不是 ObjectContext 等),我自己编写时遇到问题。

例如,我目前正在研究与自身具有父子关系的 object。 我正在尝试编写 Create 方法。 如果我使用context.Objects.Add(newObject)那么所有子对象的 state 也更改为已添加,这意味着添加了重复的子对象。 因此,我尝试遍历所有子项并将它们附加到上下文中,但是以前不存在的任何子项都不会添加到数据库中,并且会引发 DbUpdateException。

有没有一种通用的方法可以附加所有相关实体并使其状态正确? 您能给我的任何帮助将不胜感激。 谢谢!

编辑:

我尝试使用Load()显式加载孩子,然后添加初始 object。 不幸的是,它导致了异常,因为父评论在其子列表中包含子,但现有子的 parentID 尚未更新。

不,没有办法附加整个图并让 EF 自动设置正确的 state - 自 ObjectContext API 以来, 这些问题没有改变。 您必须始终为每个实体和关系手动设置 state,或者您必须从附加实体构建图形。 唯一的例外是自我跟踪实体,但 DbContext API 不支持它们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM