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

时间:2014-11-19 09:27:17

标签: c# asp.net linq datatable

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

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

3 个答案:

答案 0 :(得分:1)

使用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

答案 1 :(得分:1)

您可以使用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>();

答案 2 :(得分:0)

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();