除了我意识到我需要使用存储库和工作单元之外,这个Linq语句完美无缺......
所以我有这个Linq查询
var query = (from rg in ReportGroups
join rd in ReportDefinitions on rg.ReportGroupID equals rd.ReportGroupID
where rd.ReportGroupID == 5
select rg).Count();
我所看到的是
所以一个例子是
object responseObject = null;
responseObject = _reportService.GetReportGroups("en-us").ToList();
responseObject = _reportService.GetReportDefinitions("en-us").Where(e => e.ReportGroupID == Convert.ToInt32(id)).ToList();
所以你可以看到我目前正在检索数据的方式。
我想加入,但我不知道如何做到这一点。
我在想多个电话,很多是for循环...
我还注意到如何使用lambda语句
在另一个方法中调用现有服务private IEnumerable<SelectListItem> GetActivityList()
{
return _activityService
.GetAllActivities()
.OrderBy(n => n.ActivityName)
.Select(a => new SelectListItem
{
Text = a.ActivityName,
Value = a.Id.ToString(CultureInfo.InvariantCulture)
});
}
我意识到人们无法看到所有底层数据抽象,我当然可以提供任何问题,我只是有点难过,因为我使用Linqpad连接到数据库并编写了我的查询,但现在我意识到加入等等。服务层可能不那么容易。
答案 0 :(得分:0)
return DbSet.Include(x => x.ReportGroups )
.Include(x => x.ReportDefinitions ).Where(//id condition);