鉴于下表.如何在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
我想返回一份清单
Name1 Name2
执行此操作的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();