2个datatable数据比较问题
--------------------编程问答-------------------- 你是用EDM得到tableA的吗?如果是那只能在C#里面比较,这种比较方式比较慢,人个认为使用存储过程比较应该是最快的,存储过程传入参数@xml,用sqlserver解析生成tableB,在数据里比较后,直接查询结果返回到前端.
linq虽然看上去方便,但是拿到前台后你再做分组之类的就很慢了 --------------------编程问答-------------------- 两个1W行放到界面来处理,估计都够呛 --------------------编程问答-------------------- 用linq的join操作。
如果你要自己实现,你可以借助Dictionary --------------------编程问答--------------------
linq语句也试验了,不过好像比较麻烦。
是不是Dictionary<键值,row>这样类型,再查找?
我去试验下 --------------------编程问答--------------------
从来没试过这个方法,我去试试看 --------------------编程问答-------------------- 看看这个例子
DataTable orders = ds.Tables["SalesOrderHeader"];
DataTable details = ds.Tables["SalesOrderDetail"];
var query =
from order in orders.AsEnumerable()
join detail in details.AsEnumerable()
on order.Field<int>("SalesOrderID") equals
detail.Field<int>("SalesOrderID")
where order.Field<bool>("OnlineOrderFlag") == true
&& order.Field<DateTime>("OrderDate").Month == 8
select new
{
SalesOrderID =
order.Field<int>("SalesOrderID"),
SalesOrderDetailID =
detail.Field<int>("SalesOrderDetailID"),
OrderDate =
order.Field<DateTime>("OrderDate"),
ProductID =
detail.Field<int>("ProductID")
};
foreach (var order in query)
{
Console.WriteLine("{0}\t{1}\t{2:d}\t{3}",
order.SalesOrderID,
order.SalesOrderDetailID,
order.OrderDate,
order.ProductID);
}
补充:.NET技术 , C#