私はLINQに非常に慣れていないため、テーブルをグループ化するのに非常に苦労しているため、すべてが合計されます。複数の購入がある場合でも、50ドル以上購入したすべての顧客を表示するためにこれを取得しようとしています。linq を使用して SQL データベースで。これが私がこれまでに持っているものです、助けてください。
public class TopCustomerVM
{
public string Name { get; set; }
public decimal DollarsSold { get; set; }
public static List<TopCustomerVM> GetResults()
{
ACEEntities db = new ACEEntities();
return (from c in db.Customers
join o in db.Orders on c.CustomerId equals o.CustomerId
join l in db.OrderLines on o.OrderId equals l.OrderId
into x
select new TopCustomerVM {
Name = c.FirstName + c.LastName,
DollarsSold = x.Sum(asdf => asdf.UnitCost * asdf.Quantity)
})
.OrderByDescending(lkj => lkj.DollarsSold)
.Where(lkj => lkj.DollarsSold > 50)
.ToList();
}
}