日期:2014-05-20  浏览次数:20808 次

linq用group分组后怎么得到多个字段?
var sta = from s in LocalEdM.rain_hour
  where s.rhTime > Starttime && s.rhTime <= Endtime
  group s by s.CityName into g
  select new { CityName = g.Key, totalP = g.Sum(p => p.prec) };

如上的一个查询得到按cityname分组的结果集,我想在结果集中还包括字段lon和lat(这两个字段在表rain_hour中,表示每个cityname的经纬度),那么select new里面该怎么写呢?我直接写lon=s.lon,lat=s.lat不行啊!!!

------解决方案--------------------
var sta = from s in LocalEdM.rain_hour
where s.rhTime > Starttime && s.rhTime <= Endtime
group s by s.CityName into g
select new { CityName = g.Key, totalP = g.Sum(p => p.prec),lon=g.FirstOrDefault().lon,lat=g.FirstOrDefault().lat };
------解决方案--------------------
不知道你能不能明白,你百度一下 "数据库范式" 看看会有助于你理解。