我有以下代码:
var preGroup =
from l in e.WorkOrderRequests
join w in e.WorkOrders on l.WorkOrderRequestKey equals w.WorkOrderRequestKey into lw
from l2 in lw.DefaultIfEmpty()
select new { l.WorkOrderRequestStatusKey,
l.WorkOrderRequest_Status.Status,
w.Property.Address.StateKey,
w.Property.Address.MetroKey };
关系结构是工作订单请求可以有多个工作订单,因此它是一对多的关系。我想做一个选择,这样每个工作订单请求都会显示与附加工作订单一样多的次数。但是,如果没有附加工作订单,它仍然应该出现。所以左外连接是有意义的。上面的选择不起作用,但它显示了我想要选择的数据。我需要将这些数据分组:
var workOrderRequests =
(from l in preGroup.ToList()
group l by new { l.WorkOrderRequestStatusKey, l.Status, l.StateKey, l.MetroKey } into g
select new DashboardView
{
StatusKey = g.Key.WorkOrderRequestStatusKey,
StatusName = g.Key.Status,
StateKey = g.Key.StateKey,
MetroKey = g.Key.MetroKey,
Count = g.Count()
});
我无法进行分组,因为我的preGroup
查询无效。我已经能够为其他事情做到这一点,但这些都是一对一的关系。非常感谢任何帮助。