我正在使用EF 5,模型第一,在.NET 4.5与Win Server 2012和2008 R2。
我的应用程序中基本上有三个主要组件:
我还实现了一个调度器类,主要是让其他类调度一些操作,例如数据获取和报告。
数据采集的轮询每5秒执行一次,并将数据写入DB中的表。这个很好,这里没问题。
报告每24小时在午夜被调用,它从数据库中检索数据并生成电子表格并发送电子邮件。午夜,当事件触发时,在事件处理程序的DbContext
块中,没有从数据库中检索到的数据。但是,如果我从其他方法手动调用事件处理程序,相同的使用块的DbContext拥有所有数据。
当处理程序从事件中调用时,我找不到问题所在。我尝试过在数据采集、写操作上使用TranscationScope
来允许RepetitiveRead
,但这使问题更加严重。我在写操作中删除了TransactionScope
。
请提出缩小我的调查范围和解决问题的方法。
提前谢谢。
发布于 2014-12-08 17:36:32
由于没有找到解决方案,我继续修改我的代码,使其在内部调用事件处理程序,而不是从调度类的事件触发器调用事件处理程序。
https://stackoverflow.com/questions/26987861
复制相似问题