实体框架有时不加载数据

问题描述

| 在下面的例子中
using (var context = new MyEntities() 
{       
   // Delete old data.
   foreach (var data obsoleteData)
   {
     context.DeleteObject(data);
   }

   // Create new data.
   var data = new DataEntity();

   // Initialize data
   // ...

   var id = FoundItem();
   var items = new List<MyItems>();
   foreach (var n in context.sources)
   {
     var subItems = (from i in context.Entities1 
                     from g in i.Entity1Relations 
                     where g.Type == 0 && g.Id == id 
                     select i).ToList();

     Contract.Assert((from i in subItems 
             where i.someCount == 0 select i).FirstOrDefault() == null);
     items.add(FindSource(n,subItems);
   }

   foreach(var i1 in items)
   {
     data.SubItems.Add(i1);
   }

   context.SaveChanges();
}
有时会断言,但是数据库
SomeCount
始终> 0!
Entity1Relations
一个解析m:n的表。 我假设实体框架不会每次都查询数据库。 有解决此问题的解决方案吗?     

解决方法

我在FindSource中发现一个错误,该错误修改了其他对象的SomeCount属性。因此,它与EF无关。     

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...