【发布时间】:2010-11-16 15:09:20
【问题描述】:
我已经尝试了几天在 LINQ 中“翻译”这个查询,但到目前为止没有成功。你们能帮帮我吗?我也希望能得到一些解释,以便从中学到一些实际的东西。
这是 T-SQL 查询:
SELECT R.ResourceID, R.DefaultValue
FROM Resources as R
JOIN
(SELECT [t0].[NameResourceID] AS [ResourceID]
FROM [dbo].[Sectors] AS [t0]
LEFT OUTER JOIN [dbo].[LocalizedResources] AS [t1] ON [t0].[NameResourceID] = [t1].[ResourceID] and [t1].[LanguageID] = 2
WHERE t1.Value IS NULL) AS subQ
ON R.ResourceID = subQ.ResourceID
谢谢
【问题讨论】:
-
你为什么要“加入”那个 subQ ......你没有从那里拉出一个值。那应该是一个 WHERE 子句,因为您所做的只是使用它进行过滤。这可能就是您难以翻译它的原因。
-
我只需要来自 subQ 的那些条目的 ID。事实上,我只用它来过滤。我只是找不到更好的解决方案。你有什么建议吗?基本上,我试图找到所有未本地化为 X 语言的资源,然后查看其中是否有任何扇区。
标签: c# sql linq-to-sql subquery join