【发布时间】:2015-06-08 10:47:48
【问题描述】:
我有一个返回报表对象的函数,但目前我正在查看 foreach,然后使用 asQueryable 方法。
我想在一个查询中完成,而不必使用 AsQueryable 函数。
var query = from item in context.Dealers
where item.ManufacturerId == manufacturerId
select item;
IList<DealerReport> list = new List<DealerReport>();
foreach (var deal in query)
{
foreach (var bodyshop in deal.Bodyshops1.Where(x => x.Manufacturer2Bodyshop.Select(s => s.ManufacturerId).Contains(manufacturerId)))
{
DealerReport report = new DealerReport();
report.Dealer = deal.Name;
report.Bodyshop = bodyshop.Name;
short stat = bodyshop.Manufacturer2Bodyshop.FirstOrDefault(x => x.ManufacturerId == manufacturerId).ComplianceStatus;
report.StatusShort = stat;
list.Add(report);
}
}
return list.OrderBy(x => x.Dealer).AsQueryable();
【问题讨论】:
-
您在
Dealers位上寻找SelectMany吗?还是加入并取出子数据? -
我想选择很多,我想要一份所有经销商的列表以及他们的修理厂列表以及该制造商的状态
标签: c# performance linq asqueryable