簡體   English   中英

在Entity Framework中用linq查詢替換SQL連接和組查詢

[英]Replacing SQL join and group query with linq query in Entity Framework

我有一個現有的SQL查詢:

select 
    mn.accountid, sum(u.peak), sum(u.text), sum(u.datagig),
    sum(p.minutesallowed), sum(p.messagesallowed), sum(p.dataallowed)
from 
    usage u
inner join 
    mtn mn on u.mtnid = mn.Id
inner join 
    [plan] p on p.id = mn.planid
group by 
    mn.accountid

使用實體框架,我正在將其轉換為linq,到目前為止,我已經做到了:

var tots = from u in currentUsage
   join mn in mtns on u.mtnId equals mn.Id
   join p in plans on mn.PlanId equals p.Id
   group u by u.AccountId into g
   select new MainUsageResults
   {
       TotalPeakMinutes = g.Sum(x => x.Peak),
       TotalData = g.Sum(x => x.DataGig),
       TotalMessaging = g.Sum(x => x.Text),
       TotalAllowedMinutes = g.Sum(x =>  ???) ,
       TotalAllowedMessages = g.Sum(x =>  ???) ,
       TotalAllowedData = g.Sum(x =>  ???) 
   };

我不知道如何總結聯接表上的數據。 在SQL中,連接中可以使用整個列集,但在這里似乎並非如此。 在此示例中,如何獲取聯接表上的列總和?

感謝@ 3-14159265358979323846264,可以在這里找到一個很好的例子

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM