SQL Where in to Linq with DataTable
Posted
技术标签:
【中文标题】SQL Where in to Linq with DataTable【英文标题】: 【发布时间】:2017-07-19 07:10:57 【问题描述】:我正在尝试在 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();
【问题讨论】:
什么是 dt1 和 dt2?它们的结构如何? Dt1和Dt2是数据表 【参考方案1】:通过使用当前的方式,我们需要从第二个数据表(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();
【讨论】:
我会在接受的冷却时间结束后接受它。再次非常感谢您!以上是关于SQL Where in to Linq with DataTable的主要内容,如果未能解决你的问题,请参考以下文章
Linq to Entities基础之需要熟知14个linq关键字(from,where,select,group,let,on,by...)