SQL 使用 DataTable 到 Linq 的位置
SQL Where in to Linq with DataTable
我正试图在 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();
通过使用当前的方式,我们需要从第二个数据中获取名称列表-table(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# 中实现这一点
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();
通过使用当前的方式,我们需要从第二个数据中获取名称列表-table(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();