0

假设我有一个包含三个实体“Item”、“ItemType”和“ItemPart”的实体模型。我正在尝试编写一个查询,该查询将为每个项目类型提取最新项目(按 item.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 行,则包含的对象为空。我究竟做错了什么?

编辑:做了一些更多的测试。似乎实际上是选择破坏了包含。我猜他们没有通过选择。现在找到一种方法来构建有效的查询。

4

1 回答 1

0

我仍然不确定发生了什么,但不知何故,选择或小组打破了我所拥有的。无论如何,我只是按组手动选择并获得最新的,然后将其选择到新列表中。

于 2012-07-15T05:17:44.197 回答