linq 聚合函数使用
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)
}
 
                    
                     
                    
                 
                    
                 
                
            
         
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号