gpt4 book ai didi

c# - 如何在 LinqToSQL 中进行联接?

转载 作者:行者123 更新时间:2023-12-03 22:58:02 25 4
gpt4 key购买 nike

我有以下形式的数据设置: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 的 State 类中执行此操作。我的代码(显然没有编译)现在看起来像这样:

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# - 如何在 LinqToSQL 中进行联接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/949466/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com