【发布时间】:2015-08-27 14:08:11
【问题描述】:
我如何将result 转为EnumerableRowCollection<DataRow> 或DataView?
DataTable table1 = /*something*/ ;
DataTable table2 = /*something*/ ;
DataTable table3 = /*something*/ ;
IEnumerable<DataRow> result = (from t1 in table1.AsEnumerable() join
t2 in table2.AsEnumerable() on t1.Field<int>("id") equals t2.Field<int>("t1id") join
t3 in table3.AsEnumerable() on t2.Field<int>("t3id") equals t3.Field<int>("id")
where 666.Equals(t3.Field<int>("id"))
select t1);
谢谢
【问题讨论】:
-
您可以使用
CopyToDataTable并从那里开始... -
无法直接实例化
EnumerableRowCollection<TRow>,因为该类 (docs) 没有公共构造函数。 -
但是
(from t1 in table1.AsEnumerable() where 666.Equals(t1.Field<int>("id")) select t1)返回EnumerableRowCollection<TRow> -
to Jon Skeet: table1,table2,table3 可以修改。我不想经常监控更改并再次执行代码...