鉴于下表.如何在LINQ中获得76的其他ID,以获得Distinct名称?
**Table S**
SID OtherID
------------------------------
1 77
2 76
**Table Q**
QID SID HighLevelNAme LoweLevelName
---------------------------------------
10 1 Name1 Engine
11 1 Name1 SparkPlus
12 1 Name2 Seat
13 1 Name2 Belt
14 1 Name1 Oil
Run Code Online (Sandbox Code Playgroud)
我想返回一份清单
Name1 Name2
执行此操作的SQL是
SELECT DISTINCT
Q.HighLevelNAme
FROM S
JOIN Q ON Q.SID = S.SID
WHERE
S.OtherID = 76
Run Code Online (Sandbox Code Playgroud)
我也有代表每个表的对象.
VB或C#中的答案是可以接受的.
如果您在数据库中定义了外键关系,并通过设计器生成LINQ类,那么连接应该在对象模型中表示,对吧?所以每个QItem都有一个属性SItem?如果没有,我猜你可以使用该部分的Join扩展方法.
无论如何,我没有测试这个IRL,但它不会只是这个吗?
var results = (from QItem in dataContext.QItems
where QItem.SItem.OtherID == 76
select QItem.HighLevelName).Distinct();
Run Code Online (Sandbox Code Playgroud)