我正试图在 C# 中实现这一点
Select a.Name,a.Param
from Customization a
where a.name in (select Name from Standard)
我试过类似的方法,但还是不行。
merge = dt1.AsEnumerable()
.Where(r => r.Field<string>("Name")
.Contains(dt2.Rows.Contains("Name")))
.CopyToDataTable();
最佳答案
通过使用当前的方式,我们需要从第二个数据表 ( dt2
) 中获取 dt1
中每一行的姓名列表所以我建议你先得到名单,然后检查是否r.Field<string>("Name")
包含在集合中。为此,您可以使用以下代码
var NameCollection = dt2.AsEnumerable().Select(x=> x.Field<string>("Name")).ToList();
merge = dt1.AsEnumerable()
.Where(r => NameCollection.Contains(r.Field<string>("Name")))
.CopyToDataTable();
关于c# - SQL Where in to Linq with DataTable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45183322/