我具有以下形式的数据设置:State
1-> n County
1-> n City
。
在我的State对象中,我想返回所有包含至少一个人口大于p
的城市的县。如果我用sql编写,它将是:
select distinct co.*
from County co join City ci on ci.CountyID = co.ID
where ci.Population > @p
and co.StateCode = @StateCode
也许可以对sql进行更好的优化(我肯定会喜欢那里的指针),但这不是重点...
无论如何,我想在国家级的Linq做到这一点。我的代码(显然无法编译)现在看起来像这样:
var q =
from co in Counties
where co.Cities // uh-oh, now what?
你怎么做呢?
最佳答案
假设您具有关联属性...
var q = from co in Counties
where co.Cities.Any(city =>city.Population > p)
select co;
或者简单地:
var q = Counties.Where(co => co.Cities.Any(city => city.Population > p));
关于c# - 您如何在Linq To SQL中进行联接?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/949466/