为了只通过聚合根来访问子对象,我很难想出选择正确数据的有效方法。我可以重写以下内容以提高效率/简洁度吗?
var jobReport = db.Jobs
.Where(j => j.JobReports.Any(jr => jr.ReportId == reportId))
.Select(j => j.JobReports.Single(jr => jr.ReportId == reportId))
.Single();
答案 0 :(得分:3)
你写的内容相当于:
var jobReport = db.Jobs.SelectMany(j => j.JobReports)
.Single(jr => jr.ReportId == reportId);