相关疑难解决方法(0)

每个网络请求一个DbContext ...为什么?

我一直在阅读很多文章,解释如何设置实体框架,DbContext以便每个HTTP Web请求只使用各种DI框架创建和使用一个.

为什么这首先是一个好主意?使用这种方法有什么好处?在某些情况下这是个好主意吗?在使用DbContext存储库方法调用实例化s 时,您是否可以使用此技术执行某些操作?

c# asp.net entity-framework dependency-injection dbcontext

382
推荐指数
6
解决办法
9万
查看次数

实体框架:"存储更新,插入或删除语句影响了意外的行数(0)."

我正在使用Entity Framework来填充网格控件.有时当我进行更新时,我收到以下错误:

存储更新,插入或删除语句会影响意外的行数(0).自实体加载后,实体可能已被修改或删除.刷新ObjectStateManager条目.

我无法弄清楚如何重现这一点.但它可能与我进行更新的距离有多大关系.有没有人看过这个或有没有人知道错误信息是指什么?

编辑:不幸的是我不再自由地重现我在这里遇到的问题,因为我离开了这个项目并且不记得我是否最终找到了解决方案,如果另一个开发人员修复它,或者我是否解决了这个问题.因此我不能接受任何答案.

entity-framework

312
推荐指数
18
解决办法
31万
查看次数

禁用实体框架代理创建

根据我的阅读,设置ProxyCreationEnabled = false将阻止更改跟踪和延迟加载.但是,我不清楚跟踪的变化.

如果我禁用它并从数据库中获取实体,对其进行更改并提交,则会保存这些更改.我还可以从ChangeTracker获得修改后的条目:

ChangeTracker.Entries<IAuditable>().Where(x => x.State == EntityState.Modified).ToList()
Run Code Online (Sandbox Code Playgroud)

我禁用代理创建时是否可以这样做?我想禁用它,但我想明确我禁用的内容.

c# entity-framework

10
推荐指数
2
解决办法
9191
查看次数