实体框架核心-包括多个级别,不返回所有数据

时间:2019-04-24 15:41:40

标签: c# entity-framework-core ef-core-2.2

我有一个查询到我的EF核心数据库,该数据库应返回每个英雄每个装备等级的所有装备。

我使用下面的查询从数据库中获取数据:

    DbSet = context.Set<GuildMemberHero>();        

    var check = DbSet
        .Where(x => x.GuildMember.Id == guildMemberId)
        .Include(x => x.GuildMemberGearLevels).ThenInclude(y => y.GuildMemberGear)
        .Include(x => x.Hero).ThenInclude(x => x.GearLevels).ThenInclude(y => y.Gear)
        .ToList();

但是,我没有从'ThenInclude'语句返回的所有数据,但是如果我在SQL本身中运行类似的查询,就可以了。

从EF中获取所有项目的查询是否会删除重复项,因为某些数据确实包含重复项?

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,最后我发现,实体框架在将返回的数据映射到类中时使用您自己的Equals实现。

检查您是否在任何实体中覆盖了Equals方法,并且有未比较的属性。