C# EntityFramework查询为关系返回相同的对象

C# EntityFramework查询为关系返回相同的对象,c#,entity-framework,C#,Entity Framework,我很难把标题表达得更有意义,所以我的问题有点冗长 我有这个问题: var allSocs = _db.Socs .Where(x => x.Soc6 != null) .Select(x => new SocModel { OccupationalEmploymentStatistics = x.OccupationalEmploymentStatistics .Where(y => y.Geogr

我很难把标题表达得更有意义,所以我的问题有点冗长

我有这个问题:

    var allSocs = _db.Socs
    .Where(x => x.Soc6 != null)
    .Select(x => new SocModel {
        OccupationalEmploymentStatistics = x.OccupationalEmploymentStatistics
                    .Where(y => y.GeographyId == 25 && y.Release == "2015A01" && y.Naics == "000000")
                    .OrderByDescending(z => z.AnnualWageMedian),
        Soc6 = x.Soc6,
        OnetSocs = x.OnetSoc,
        Name = x.Name,
        Description = x.Description,
        EmploymentProjections = x.EmploymentProjections
                    .Where(y => y.GeographyId == "201400" && y.Naics == "000000")
    }).ToList();  
它返回一个名为
Soc
s的对象列表,这些对象具有一些基本属性和三个对象属性,
Onetsocs
occulationemploymentstatistics
,以及
EmploymentProjections

我的行为是,所有非对象字段都工作正常,
EmploymentProjections
OnetSocs

问题是
职业就业统计
表现得很怪异。似乎EF只得到一个
职业雇员统计数据
,并将其应用于
\u db.Socs
中的所有记录

如果我设置一个断点并将鼠标悬停在
\u db.Socs
上,我会看到有一个对象。但是,
allsoc
中有适当数量的soc(841)

我尝试过删除
OrderByDescending
,看看这是否是问题所在,但我仍然得到相同的行为

对于一些背景信息,我正在使用的表都是外部表,我必须手动绘制关系,因为EF没有识别它们

编辑:更多背景信息。如果我再问一个问题
var socs=\u db.socs.ToList()
,只有第一条记录有任何
职业雇员统计数据。因为EF使用标识映射模式,所以其他记录都没有任何

。基本上,EF会话将只存储给定实体和id的一个实例,并且每当某些实体指向相同的DB表和主键时,它将始终重用相同的实例。

。。我对那个词一点也不熟悉。我如何绕过它来获取我需要的数据?