【发布时间】:2011-11-02 15:44:57
【问题描述】:
我们目前有一个作为 Windows 服务运行的生产应用程序。很多时候,这个应用程序最终会陷入一个可能需要几个小时才能完成的循环。我们正在使用 .net 4.0 的实体框架进行数据访问。
我正在寻找确认,如果我们将新数据加载到系统中,在此循环初始化后,它不会导致项目被添加到循环本身。当循环初始化时,我们正在寻找那一刻的数据。虽然我相对确定这将完全像使用 ADO 并对数据执行循环(循环仅循环通过初始化时存在的数据),但我正在寻找同事的确认。
提前感谢您的帮助。
//更新:这里有一些c#中的示例代码 - 问题是一样的,如果将新项目添加到 EF 正在查询的表中,枚举会改变吗?
IEnumerable<myobject> myobjects = (from o in db.theobjects where o.id==myID select o);
foreach (myobject obj in myobjects)
{
//perform action on obj here
}
【问题讨论】:
-
杰夫,你不能肯定地说,这取决于代码是如何编写的,而不是框架。大多数(不是全部)程序员编写批处理以在流程开始时查询所有数据。但是,程序有可能(尽管不太可能)在整个操作过程中查询数据库。一个明确的答案需要通过代码。
标签: c# .net frameworks entity