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

时间:2014-10-31 09:46:37

标签: c# linq

为了只通过聚合根来访问子对象,我很难想出选择正确数据的有效方法。我可以重写以下内容以提高效率/简洁度吗?

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

1 个答案:

答案 0 :(得分:3)

你写的内容相当于:

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