EF返回汇总和非汇总数据

| 给定下面的表结构,如何使用实体框架返回以下聚合和分组的字段。 必填项 分组: 用户名 用户名 汇总: 最大值(Order.OrderDate) Count(Order.OrderId) 金额(付款金额) Count(最近60天内所有订单的Order.OrderId) 金额(最近60天内所有订单的付款金额) 桌子 使用者: 用户名(PK) 姓氏 姓 订单: OrderId(PK) 用户ID(FK) 订购日期 付款方式: PaymentId(PK) OrderId(FK) 支付金额     
已邀请:
        
DateTime last60Days = new DateTime(xxx,xxx,xxx);

var query = from u in context.Users
            group u by new
            {
              u.Forename,
              u.Surname
            } into ug
            select new
            {
              Forename = ug.Key.Forename,
              Surname = ug.Key.Surname,
              MaxOrderdate = ug.SelectMany(x => x.Orders).Max(x => x.OrderDate),
              OrderCount = ug.SelectMany(x => x.Orders).Count(),
              Payment = ug.SelectMany(x => x.Orders.SelectMany(y => y.Payments)).Sum(x => x.PaymentAmount),
              OrderCountLast60 = ug.SelectMany(x => x.Orders).Where(x => x.OrderDate > last60Days).Count(),
              PaymentLast60 = ug.SelectMany(x => x.Orders.Where(x => x.OrderDate > last60Days).SelectMany(y => y.Payments)).Sum(x => x.PaymentAmount)
            };
    

要回复问题请先登录注册