假设我有一个实体模型,其中包含三个实体“Item”,“ItemType”和“ItemPart”。我正在尝试编写一个查询,它将为每个项目类型提取最新项目(按项目.date),并在查询中包含这些部分,以便在获得结果后使用它们。我写了一个看起来像这样的查询:
IQueryable<Item> results = context.Items
.Include("ItemTypes")
.Include("ItemParts")
.Where(x => x.CurrentItem == true)
.GroupBy(x => x.ItemType).Select(group => group.OrderByDescending(item => item.date).FirstOrDefault());
如果我在没有GroupBy行的情况下运行它,一切正常,我可以获得所包含的项目。如果我添加GroupBy行,则包含的对象为null。我做错了什么?
编辑:做了一些测试。看起来它实际上是打破包含的选择。我猜他们没有通过选择。现在,找到一种方法来构建将起作用的查询。答案 0 :(得分:0)
我仍然不肯定发生了什么,但不知何故,选择或团队打破了我的包含。无论如何,我只是在小组中进行了手动选择,得到了最新的一个,然后将其选入新的列表。