[英]convert this join sql query to linq
如何將此 sql 查詢轉換為 linq
select sum(a.Count),b.PeriodDesc from dbo.tbl_Sample a,dbo.tbl_Period b
where a.PeriodID=b.PeriodID group by PeriodDesc
tbl_Period -PeriodID,PeriodDesc
tbl_Sample - ID,Count,PeriodID
假設YourContext
是生成的上下文,並且您在tbl_Period
和tbl_Sample
之間具有導航屬性, tbl_Period
查詢將如下所示:
using(var db = new YourContext())
{
var result = db.tbl_Sample.GroupBy(p=>p.tbl_Period.PeriodDesc)
.Select(p => new {p.Key, p.Count()})
//whateve you want to do ...
}
請檢查一下
var result = (from a in tbl_Sample
group a by a.PeriodDesc into abc
join b in tbl_Period on abc.FirstOrDefault().PeriodID equals b.PeriodID
select new ModelName {
SumofCount = abc.sum(m => m.Count),
PeriodDesc = b.PeriodDesc
}).tolist();
試試這個
var joinedTables = from p in listPeriod
join s in listSample on p.PeriodID equals s.PeriodID
select new { p.PeriodDesc, s.Count };
var result = from p in joinedTables
group p by p.PeriodDesc into g
select new { PeriodDesc = g.Key, Sum = g.Sum(p=>p.Count)};
Ofc 您必須使用正確的集合(或表實體)更改listPeriod
和listSample
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.