鉴于下表。在LINQ中给定其他ID 76,如何获得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
我想返回一个清单
名称1
名称2
执行此操作的SQL是
SELECT DISTINCT
Q.HighLevelNAme
FROM S
JOIN Q ON Q.SID = S.SID
WHERE
S.OtherID = 76
我也有代表每个表的对象。
VB或C#中的答案是可以接受的。
最佳答案
如果您在数据库中定义了外键关系,并通过设计器生成了LINQ类,那么联接应该在对象模型中表示,对吗?那么每个QItem都有一个SItem属性吗?如果没有,我猜您可以对该部分使用Join扩展方法。
无论如何,我没有测试此IRL,但不是仅仅是这个吗?
var results = (from QItem in dataContext.QItems
where QItem.SItem.OtherID == 76
select QItem.HighLevelName).Distinct();