我有一个使用Entity Framework 6的C#应用程序。 我查询这样的数据库:
public static DB.Core.DBBlob getBlob(DB.Core.DBAspect aspect, int index)
{
var blobs = aspect.DBBlobs.Where(b => b.Index == index);
return blobs.OrderByDescending(b => b.CreationTime).FirstOrDefault();
}
第一项是我从数据库中查询的项目,第二项是我用where语句排除的项目(我只希望项目的索引== 1)。
似乎EF6正在从数据库加载两个条目并添加到changetracker。
我尝试过设置以下设置:
dbm.Configuration.AutoDetectChangesEnabled = false;
dbm.Configuration.LazyLoadingEnabled = false;
dbm.Configuration.ProxyCreationEnabled = false;
希望有人能够帮助我。
答案 0 :(得分:0)
我找到了解决方案。 问题是实体框架正在加载所有“子”元素。 我现在做的是直接查询DbSet(采用数据库模型)并在where语句中添加父项的Id。