c#如何有效地选择通过 LINQ 的子对象

标签: Linq C#
发布时间: 2017/2/28 23:19:09
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.

为了访问子对象只能通过其聚合根,我竭力要想有效的方法来选择正确的数据。我可以重写以下要更高效/简练?

        var jobReport = db.Jobs
            .Where(j => j.JobReports.Any(jr => jr.ReportId == reportId))
            .Select(j => j.JobReports.Single(jr => jr.ReportId == reportId))
            .Single();

解决方法 1:

你写的东西就等于︰

var jobReport = db.Jobs.SelectMany(j => j.JobReports)
                       .Single(jr => jr.ReportId == reportId);
赞助商