如何通过 LINQ 获取数据表中存在于另一个数据表中的内容

本文关键字:数据表 另一个 存在 获取 何通过 LINQ | 更新日期: 2023-09-27 18:31:01

如果我有两个这样的数据表:

dt1
emp_num name  status
    1    aa    1
    2    bb    1
    3    cc    2 

dt2

emp_num name  dep_code
 1      aa       536
 2      bb       782
 4      yuw      21
 5      rr       892

如何获得dt1中的内容,并且必须存在于dt2中,并将结果放在另一个datatable

结果 :

emp_num name  status
 1      aa    1
 2      bb    1

如何通过 LINQ 获取数据表中存在于另一个数据表中的内容

你可以使用 Linq

var result = (from a in dt1.Rows
             join b in dt2.Rows
             on dt1.Rows["emp_num"]==dt2.Rows["emp_num"]
             select a).CopyToDataTable<DataRow>();

使用 LINQ join

var results = (from employees1 in db.dt1
               join employees2 in db.dt2 on employees1.emp_num  equals employees2.emp_num  
               where employees1.emp_num   == employees2.emp_num  
               select employees1);

或者你可以选择任何其他你想要的东西。

var将是结果对应的任何对象类型的IENumerable列表。 db以上是指您的DbContext

var List = (from a in context.dt1 
           join b in context.dt2 on a.emp_num equals b.emp_num
           select new
           {
              //Select your desired fields here
           }).ToList();