Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.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
C# 如何使用linq中多个值的两个列表之间的交集来获得唯一记录_C#_Linq_Linq To Sql - Fatal编程技术网

C# 如何使用linq中多个值的两个列表之间的交集来获得唯一记录

C# 如何使用linq中多个值的两个列表之间的交集来获得唯一记录,c#,linq,linq-to-sql,C#,Linq,Linq To Sql,各位专业人士好, 目前,我被一个问题绊住了,没有找到解决问题的正确方法。问题就在这里 Table 1 Table 2 Form_id Form No Form No Form Type 1 10 10 101 1 10

各位专业人士好,

目前,我被一个问题绊住了,没有找到解决问题的正确方法。问题就在这里

Table 1 Table 2 Form_id Form No Form No Form Type 1 10 10 101 1 10 20 201 1 10 10 301 2 20 10 401 3 30 30 501
谢谢你。

在查询之后,只需按一下
不同的
,就可以了

var result= (from t1 in DBContext.table1 
             join t2 in DBContext.table2 on t1.FormNo equals t2.FormNo 
             Where FormTypeList.Contains(t2.FormType) 
             Select new 
             { 
                Form_Id  = t1.Form_Id, 
                FormNo   = t2.FormNo, 
                FormType = t2.FormType 
             }).Distinct().ToList();

请出示您尝试过的代码。您如何知道表单_ID 1的表单类型是101而不是301或401?var result=(从DBContext.table 1中的t1连接到DBContext.table 2中的t2。FormNo等于t2.FormNo,其中FormTypeList.Contains(t2.FormType)选择new{Form_Id=t1.Form_Id,FormNo=t2.FormNo,FormType=t2.FormType}).ToList();@Magnus它是在表中预定义的我已经尝试了上述解决方案。但是它给了我重复的结果,我希望Form_Id在结果中是唯一的。@Nightnight重复了什么?
var result=(from t1 in DBContext.table 1 
            join t2 in DBContext.table 2 on t1.FormNo equals t2.FormNo 
            Where FormTypeList.Contains(t2.FormType) 
            Select new { Form_Id=t1.Form_Id, 
                         FormNo=t2.FormNo, 
                         FormType=t2.FormType 
            }).ToList();
var result= (from t1 in DBContext.table1 
             join t2 in DBContext.table2 on t1.FormNo equals t2.FormNo 
             Where FormTypeList.Contains(t2.FormType) 
             Select new 
             { 
                Form_Id  = t1.Form_Id, 
                FormNo   = t2.FormNo, 
                FormType = t2.FormType 
             }).Distinct().ToList();