【发布时间】:2015-04-08 00:21:28
【问题描述】:
我有一张表employees,其中包含以下列
ID, Name, ..., RelatedID, ...
我想在 LINQ to SQL 中编写以下选择:
select distinct b.ID, b.Name
from employees b
join employees a on a.RelatedID > 0
where b.id = a.RelatedID
我认为表达式a.RelatedID > 0 基本上是0 not equals a.RelatedID,但不支持语法。
任何想法如何实现我的目标?
:编辑
我找到了解决方案,请参阅我发布的答案。
【问题讨论】:
-
这是X Y problem。与其告诉我们您要解决的任何问题的解决方案并要求我们使其发挥作用,不如告诉我们您要解决的问题并要求我们提供解决方案。这个 Linq 语句应该完成什么?
-
请记住,任何内部联接都可以写成带有 where 子句中的 on 条件的交叉联接。
-
那么你是在写 linq 语句还是 SQL 语句,我不确定你想提供什么答案:)
-
@juharr 您将如何编写带有交叉连接的查询?我试过
from b in employees from a in employees where a.RelatedID > 0 && b.ID == a.RelatedID select b,但它没有给出正确的结果(返回的记录太多)
标签: c# join linq-to-sql equals