我正在尝试写一个linq查询,它使用多个相关数据表并且陷入了困境。Linq查询帮助
预期结果:我需要按人口下降返回每个地区三个人口最多的大都市区。
表W /样本数据:
MetroAreas - ID,名称
2,大纽约
城市 - ID,姓名,STATEID
1293912,纽约市,10
城市人口 - 城市ID,城市ID,人口普查年,人口
20,1293912,2008年,123456789
21,1293912,2007年,123454321
MetroAreaCities - ID,CityID,MetroAreaID
1,1293912,2
国 - ID,姓名, RegionID
10,纽约,5个
地区 - ID,名称
5,没有rtheast
我开始与地铁领域。加入MetroAreaCities以获取城市ID。加入城市以获取州ID。加入国家以获得区域ID。加入地区,我可以过滤一个地方。当我试图包含CityPopulations时,我陷入了困境。我只想要一个特定地区的三个人口最多的都市区。在cityPopulations上简单加入会每年返回一个记录。
(这是我到目前为止,该查询是书面亚音速3):
return from p in GeoMetroArea.All()
join q in GeoMetroAreaCity.All() on p.ID equals q.MetroAreaID
join r in GeoCity.All() on q.CityID equals r.ID
join s in GeoState.All() on r.StateID equals s.ID
join t in GeoRegion.All() on s.RegionID equals t.ID
where t.ID == regionObjectPassedToMethod.ID
select p;
谁能帮我这个查询或点我在正确的方向?非常非常感谢你。
你要哪一年使用人口?最近的?平均? – 2009-10-12 16:14:03
我想最近一年... – jas 2009-10-12 18:20:42