gpt4 book ai didi

c# - 将以下 SQL 转换为 LINQ 的问题

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:35 24 4
gpt4 key购买 nike

好的,所以我一直在努力弄清楚如何嵌入多个选择在 LINQ 查询中失败,因为我不经常使用 LINQ。

我想出了一个相当直接的简单 SQL 语句,我正在尝试转换,如果有人可以帮助将其转换为 LINQ 并解释其中的逻辑,我将不胜感激。

SELECT * FROM TABLE_A
WHERE TABLE_B_REF IN
(SELECT TABLE_B_REF FROM TABLE_B
WHERE TABLE_B.TABLE_C_REF IN
(SELECT TABLE_C_REF FROM TABLE_C WHERE C_NUMBER = '10001'))

我已经用谷歌搜索了,但是我得到的东西太复杂了,无法遵循多个嵌入式查询。

最佳答案

A SQL join这里看起来简单多了。假设您已经设置了 navigation properties正确地,这看起来有点像这样:

from a in db.TableA
where a.TableB.TableC.C_Number == "10001"
select a;

或者用流利的语法:

db.TableA.Where(a => a.TableB.TableC.C_Number == "10001")

对应的 SQL 是这样的:

SELECT a.* 
FROM TABLE_A a
JOIN TABLE_B b ON a.TABLE_B_REF = b.TABLE_B_REF
JOIN TABLE_C c ON b.TABLE_C_REF = c.TABLE_C_REF
WHERE c.C_NUMBER = '10001'

关于c# - 将以下 SQL 转换为 LINQ 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23658146/

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