Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 在LINQ中,如何找到连接两个表的不同项?_.net_Linq - Fatal编程技术网

.net 在LINQ中,如何找到连接两个表的不同项?

.net 在LINQ中,如何找到连接两个表的不同项?,.net,linq,.net,Linq,鉴于下表。在LINQ中,如果另一个ID为76,如何获得不同的名称 **Table S** SID OtherID ------------------------------ 1 77 2 76 **Table Q** QID SID HighLevelNAme LoweLevelName --------------------------------------- 10 1 Name1 Engine 11

鉴于下表。在LINQ中,如果另一个ID为76,如何获得不同的名称

**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?如果没有,我想您可以对该部分使用连接扩展方法

不管怎样,我没有测试这个IRL,但它不就是这个吗

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

使用Troy的答案,这种查询方法也可以工作

List<string> highLevelNames = dataContext
  .Q
  .Where<Q>(item => item.S.OtherID == id)
  .Select<Q, string>(item => item.HighLevelNAme)
  .Distinct()
  .ToList<string>();
List highLevelNames=dataContext
Q
.Where(item=>item.S.OtherID==id)
.Select(item=>item.HighLevelNAme)
.Distinct()
.ToList();

这很有效。我不知道我怎么会错过这个。这正是我的模型。非常感谢。这是“查询方法”,而不是“Linq到对象”。您没有查询内存中的对象集合。