DataTable校验SQL Server 表是否存在相同数据行有关问题
DataTable校验SQL Server 表是否存在相同数据行问题。
现在有一个 DataTable
判断这个DataTable 中DataRow 是否在SQL Server 存在
我不想用 foreach 一条一条去匹配,因为数据量大效率太低了。
匹配单行的Sql语句如下
@a = DataRow[i]["a"]
@b = DataRow[i]["b"]
貌似 Linq 可以实现,奈何自己不会。
求教如何实现上面的效果。
DataTable 结构 与 SQL Server 表结构一样的。
类似实现这样的功能
------解决思路----------------------
现在有一个 DataTable
判断这个DataTable 中DataRow 是否在SQL Server 存在
我不想用 foreach 一条一条去匹配,因为数据量大效率太低了。
匹配单行的Sql语句如下
Select count(*) from t where a=@a and b=@b
@a = DataRow[i]["a"]
@b = DataRow[i]["b"]
貌似 Linq 可以实现,奈何自己不会。
求教如何实现上面的效果。
DataTable 结构 与 SQL Server 表结构一样的。
类似实现这样的功能
select * from b where exists ( select * from a where a.aaa=b.aaa and a.bbb=b.bbb);
------解决思路----------------------
private DataTable GetDiffData(DataTable srcDt, DataTable dstDt)
{
DataTable dt = new DataTable();
var ss = from r in srcDt.AsEnumerable()
where
!(from bb in dstDt.AsEnumerable() select bb.Field<string>("a")).Contains(r.Field<string>("a"))
select r;
dt = ss.CopyToDataTable();
return dt;
}