asp.net - Entity Framework 4.0 附加对象图

标签 asp.net sql-server-2008 c#-4.0 entity-framework-4

我正在尝试将断开连接的实体附加并添加到 Entity Framework 上下文。例如:

我有一个客户实体和一个用于详细说明订单实体的导航属性。这个想法是获取 Customer 实体并对该实体进行修改,然后还将新的 Order 实体添加到 Customer 实体。

当我尝试附加(我认为这是正确的使用方法。)客户实体时,问题就开始了。因为现在正在附加整个对象图,所以我收到以下错误:

"An object with a temporary EntityKey value cannot be attached to an object context."

据我所知,该错误是由于添加的订单实体导致的,这些实体应该添加,而不是附加

有没有办法将具有新子实体的现有实体附加或添加到上下文?

最佳答案

如果您想以这种方式使用 Attach,则不应使用基于 EntityObject 的实体 - 请改用 POCO。无论如何,您仍然必须遍历整个对象图并为每个实体和独立关联设置正确的状态(修改、添加、删除)。归根结底attaching detached object graph is very hard即使使用 POCO - 最好的方法不是附加图表,而是从数据库加载相同的数据,并将分离的图表与加载的图表同步(您必须自己编码)。

关于asp.net - Entity Framework 4.0 附加对象图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9374842/

相关文章:

sql - 选择查询中的列总和

c++ - Visual Studio C/C++ 结构字符问题

asp.net - 多行 ASP.NET 文本框的 Facebook 蓝色突出显示

javascript - 如何在asp.net中使用 'onKeyUp'属性?

asp.net - ASP.NET 中的脚本漏洞 - 设置 validateRequest ="true"是个好建议吗?

使用另一个表过滤一个表的 SQL 查询

c#-4.0 - Fluent nHibernate : No row with the given identifier exists. 2个用户删除某些项目时发生错误

asp.net-mvc - 上一页链接出现在 MVC3 Razor 应用程序的地址栏中吗?

asp.net - 为什么 Web API 请求的主体会被读取一次?

asp.net - 服务器重启后登录信息仍然存在