依赖注入和实体框架错误

在我们的mvc应用程序中,我总是收到通过电子邮件发送给我的错误,这些错误对我来说毫无意义。我们在控制器和存储库中使用structuremap进行依赖项注入。我今天遇到的最新错误是ExecuteReader,需要打开并可用的Connection。连接的当前状态为打开。

这里是对代码/结构的描述。

mvc controller (ITimesheetRepository di in constructor)
ITimesheetRepository (IPaidLeaveRepository and IDbContext di in constructor)
IPaidLeaveRepository (IDbContext di in constructor)

错误发生在PaidLeaveRepo的这一行。

var used = _context.Summaries.Any(x => x.JobId == jobId) ? _cdc.Summaries.Where(x => x.JobId == jobId).Sum(x => x.PaidLeaveHours) : 0;

其他时候,我遇到诸如“存储更新,插入或删除语句影响了意外的行数(0)。实体自加载实体以来可能已被修改或删除”之类的错误,当其中一种错误发生时,看起来像实体框架会保留失败的查询,并且其他任何请求都会失败。但是,我认为一个新的http请求将触发我们数据库上下文的一个新实例,所以我的想法是它不应从另一个请求中遇到该错误。解决此问题的唯一方法是进入服务器并停止/启动Web应用程序池。这就是我们为数据上下文连接结构图的方式。

For<IConDbContext>().HybridHttpOrThreadLocalScoped().Use(new ConDbContext(DataSources.ConDataSource));
For<ConDbContext>().HybridHttpOrThreadLocalScoped().Use(new ConDbContext(DataSources.ConDataSource));
chj950109 回答:依赖注入和实体框架错误

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/1344407.html

大家都在问