我一直在阅读很多文章,解释如何设置实体框架,DbContext以便每个HTTP Web请求只使用各种DI框架创建和使用一个.
为什么这首先是一个好主意?使用这种方法有什么好处?在某些情况下这是个好主意吗?在使用DbContext存储库方法调用实例化s 时,您是否可以使用此技术执行某些操作?
我正在使用Entity Framework来填充网格控件.有时当我进行更新时,我收到以下错误:
存储更新,插入或删除语句会影响意外的行数(0).自实体加载后,实体可能已被修改或删除.刷新ObjectStateManager条目.
我无法弄清楚如何重现这一点.但它可能与我进行更新的距离有多大关系.有没有人看过这个或有没有人知道错误信息是指什么?
编辑:不幸的是我不再自由地重现我在这里遇到的问题,因为我离开了这个项目并且不记得我是否最终找到了解决方案,如果另一个开发人员修复它,或者我是否解决了这个问题.因此我不能接受任何答案.
根据我的阅读,设置ProxyCreationEnabled = false将阻止更改跟踪和延迟加载.但是,我不清楚跟踪的变化.
如果我禁用它并从数据库中获取实体,对其进行更改并提交,则会保存这些更改.我还可以从ChangeTracker获得修改后的条目:
ChangeTracker.Entries<IAuditable>().Where(x => x.State == EntityState.Modified).ToList()
Run Code Online (Sandbox Code Playgroud)
我禁用代理创建时是否可以这样做?我想禁用它,但我想明确我禁用的内容.