我试图以一种方式使用linq来避免在DataSet中对DataRows做一个foreach:
var results = from dataRow in DataRows
let MoreData = func(dataRow.ID)
join moreDataRow in MoreData on dataRow.ID2 = moreDataRow.ID2
select new
{
ID1 = dataRow.ID,
ID2 = dataRow.ID2,
ID3 = dataRow2.ID3
};
Run Code Online (Sandbox Code Playgroud)
我想完成类似上面的操作,但是linq不能将MoreData用作join语句的一部分.如果我无法做到这一点,我可能会在DataRows上做一个foreach并从那里开始.
是否有一种连接数据的linqy方法,在迭代元素然后执行从原始数据到新生成的数据的连接之前,这些数据是不可用的?
一个join子句必须采用完整的集合 - 而不是依赖于当前行的东西.您可以使用多个from语句:
var results = from dataRow in DataRows
from moreDataRow in func(dataRow.ID)
where dataRow.ID2 == moreDataRow.ID2
select new
{
ID1 = dataRow.ID,
ID2 = dataRow.ID2,
ID3 = dataRow2.ID3
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1142 次 |
| 最近记录: |