我在使用Win Server 2012和SQL Server Express 2008 R2的.NET 4.5上使用EF 5,Model First。
我的应用程序基本上有三个主要组件:
我还实现了一个调度程序类,基本上让其他类安排一些操作,例如数据采集和报告。
数据采集轮询每5秒执行一次,并将数据写入数据库中的表。这很好,这里没问题。
报告每24小时,午夜调用一次,它从数据库中检索数据并生成电子表格并通过电子邮件发送。在午夜,当事件触发时,在事件处理程序使用DbContext
的块时,没有从数据库中检索的数据。但是,如果我从其他方法手动调用事件处理程序,则使用块的DbContext完全相同的所有数据。
当从事件调用处理程序时,我无法找到它的问题。我试图在数据采集写操作上使用TranscationScope
来允许RepetitiveRead
,但这会使问题变得更糟。我删除了写操作周围的TransactionScope
。
请建议任何缩小调查范围和解决问题的方法。
提前致谢。
答案 0 :(得分:0)
找不到任何解决方案后,我继续修改我的代码,从内部调用事件处理程序,而不是从Schedular类的事件触发器调用。