【发布时间】:2012-03-01 18:45:38
【问题描述】:
我有一个运行良好的 SQL 查询,我需要将其转换为 Linq。我需要将所有记录返回一个表并将其连接到第二个表。我需要返回第一个表中的所有结果与第二个表中的结果连接,其中第二个表中特定字段的值等于变量值(在下面的示例中为 75)或返回 null。
所以结果中的总行数应该是 table1 的总行数。来自 table2 的连接中的行部分应该显示 table2 中存在记录的值为 75 的值,或者显示不存在记录的 null。
编辑:我应该提到 t1.field1 是一个 int 而 t2.field1 是一个可为空的 int。
我尝试了多个 linq 语句、对连接进行分组、询问同事以及在谷歌上搜索直到我的眼睛流血。我被困住了。我知道我的问题措辞可能不清楚,如果不是,我提前道歉。
提前致谢。 克里斯
SQL 查询:
SELECT *
FROM table1 AS t1 LEFT OUTER JOIN
table2 AS t2 ON t1.field1 = t2.field1 AND t2.field2 = 75
【问题讨论】:
-
请在提问前进行一些搜索。网上有几十个样本。
-
网上有很多例子。不幸的是,这些对我不起作用。它可能与将 int 与可空 int 或可空 int 与不是表字段的 int 的整数进行比较有关。但相信我,我做了我的研究。
标签: c# linq sql-server-2008