【发布时间】:2019-11-04 14:13:48
【问题描述】:
我需要有关在 LINQ C# 代码中转换此 Select 语句的帮助
SELECT TagName
from Tags
Where TagId IN(
SELECT TagId
from PresentationTags
Where PresentationId = 2
)
【问题讨论】:
-
我想知道您的 SQL 是否经过深思熟虑。性能方面,看起来你应该做一个内部连接而不是一个子选择
-
到目前为止你尝试了什么?
-
@bradbury9 这是不准确的。
IN查询并不总是等价于JOIN查询,查询优化器通常足够聪明,可以在它们等价时创建相同的执行计划。更多详情,请阅读this SO question and my answer to it. -
我建议查看:sqltolinq.com 以备将来查询
-
如果您的 PresentationTags 和 Tags 在您的模型中是相关的,您可以使用
from t in Tags where t.PresentationTags.PresentationId == 2 select t.TagName。请注意,我没有将其添加为答案,因为我缺少您的模型信息。
标签: c# sql linq sql-to-linq-conversion