在 EF1 中,我不能只更新在 ObjectContext 范围之外构造的对象(使用正确的 id)。
EF4有新方法吗?
我可以将其添加到上下文中吗(context.AddOrder(order))
(其中 context 是我的 ObjectContext 的实例)并且“它”看到它有一个 id 并更新它?
它不是 poco 所以我的对象源自EntityObject
如果它是一个全新的对象那么你应该使用对象上下文.AddObject http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.addobject.aspx or 对象集.AddObject: http://msdn.microsoft.com/en-us/library/dd487277.aspx
The 添加对象方法用于添加新创建的对象not存在于数据库中。该实体将获得一个自动生成的临时实体键和它的
EntityState 将被设置为Added.
另一方面对象上下文.附加 http://msdn.microsoft.com/en-us/library/system.data.objects.objectcontext.attach.aspx and 对象集.附加 http://msdn.microsoft.com/en-us/library/dd487214.aspx用于已经存在的实体exist在数据库中。 Attach 不会将 EntityState 设置为“已添加”,而是会导致不变EntityState,这意味着它自从附加到上下文以来就没有改变。假定您附加的对象存在于数据库中。
有关此主题的更详细讨论,请查看这篇文章:
实体框架 4 - AddObject 与 Attach https://stackoverflow.com/questions/3920111/entity-framework-4-addobject-vs-attach
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)