当前位置:  开发笔记 > 编程语言 > 正文

在LINQ中如何找到加入2个表的不同项?

如何解决《在LINQ中如何找到加入2个表的不同项?》经验,为你挑选了1个好方法。

鉴于下表.如何在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#中的答案是可以接受的.



1> Troy Howard..:

如果您在数据库中定义了外键关系,并通过设计器生成LINQ类,那么连接应该在对象模型中表示,对吧?所以每个QItem都有一个属性SItem?如果没有,我猜你可以使用该部分的Join扩展方法.

无论如何,我没有测试这个IRL,但它不会只是这个吗?

var results = (from QItem in dataContext.QItems
                where QItem.SItem.OtherID == 76
                select QItem.HighLevelName).Distinct();

推荐阅读
郑小蒜9299_941611_G
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有