linq 聚合函数使用

[亡魂溺海] 提交于 2020-01-10 04:53:46

dbtestEntities db = new dbtestEntities(); return from t in db.Fcount group t by t.fid into m select new Model.Number { id = m.Key, Count = m.Count() };

sql:

select t.typeid,t.typename ,isnull(n.numbers,0) as numbers from typenews t left join

(select typeid,COUNT(*) as numbers from NewsContent group by TypeID) n
on t.typeid=n.TypeID

from t in db.typenews
join n in (
(from t0 in db.NewsContent
group t0 by new {
t0.TypeID
} into g
select new {
TypeID = (System.Int32?)g.Key.TypeID,
numbers = (Int64?)g.Count()
})) on new { typeid = t.typeid } equals new { typeid = Convert.ToInt32(n.TypeID) } into n_join
from n in n_join.DefaultIfEmpty()
select new {
typeid = (System.Int32?)t.typeid,
t.typename,
numbers = ((int?)n.numbers ?? (int?)0)
}

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!