Entity Framework - Changetracker 包含许多项目

Entity Framework - Changetracker contains to many items

我有一个使用 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();
    }

现在的问题是 changetracker 包含 2 个条目

第一项是我从数据库中查询的,第二项是我用 where 语句排除的(我只想要索引 == 1 的项目)。

似乎 EF6 正在从数据库加载这两个条目并添加到 changetracker。

我已经尝试设置以下设置:

dbm.Configuration.AutoDetectChangesEnabled = false;
dbm.Configuration.LazyLoadingEnabled = false;
dbm.Configuration.ProxyCreationEnabled = false;

希望有人能帮助我。

我找到了解决办法。 问题是 Entity Framework 正在加载所有 "child" 元素。 我现在做的是直接查询 DbSet(采用数据库模型)并在 where 语句中添加父项的 Id。