m.e*_*son 3 c# linq oracle entity-framework objectcontext
因为ObjectContext.SaveChanges()在一个事务中发生,我认为最好是我的应用程序首先执行所有查询/更新,ObjectContext然后再调用SaveChanges()一次将数据写入数据库.
但是这样做意味着如果我创建一个对象并且后续查询ObjectContext它会否认它存在(假装因为数据库尚未更新).我以为我可以通过一些SaveOptions解决这个问题,但它看起来并不像我能做到的那样.
我基本上希望它ObjectContext像一个代理,我可以修改,因为我希望一次性提交.有没有办法实现这个目标?
如果不保存更改,则数据库中不存在新对象,并且不会对数据库执行查询(=没有Linq到实体查询)将返回它们.要将对象添加到上下文但尚未保存,您必须查询ObjectStateManager:
var data = context.ObjectStateManager
.GetObjectStateEntries(EntityState.Added)
.Where(e => !e.IsRelationship)
.Select(e => e.Entity)
.OfType<YourEntityType>();
Run Code Online (Sandbox Code Playgroud)