c#EntityFramework渴望加载并按问题分组

时间:2017-06-30 15:34:59

标签: c# .net entity-framework linq eager-loading

我正在尝试获取按特定列分组的行列表列表。 我的方法是这样的:

public List<List<row>> 
MetaListRowsBySupplier(string orderNo)
    {
        return Entities.rows
                .Where(row => row.head.OrderNo == orderNo)
                .GroupBy(row => row.Item.Vendor)
                .Select(grp => grp.ToList()).ToList();
    }

这有效,但我在上面实际需要的是:

 return Entities.rows.Include("Item.Settings").Include("Details")

并且这不起作用,因为GroupBy使Include从我能理解的内容中无声地失败。 还有另一种方法让GroupBy和Include同时进行 我得到了我已经加载的东西的行列表列表,我以后需要它?

我知道我可以稍后通过创建新查询来加载必要的东西,但这看起来很麻烦,以后可以防止单行列表中的单行,而不会打开新的数据库上下文,例如:

foreach (row r in rows.Where(r => r.Item.Settings.First().FileType != "PDF"))

(作为参考,我需要这个,因为后来我拆分了元列表并在单独的任务中对每个列表进行处理。)

提前致谢!

0 个答案:

没有答案