【发布时间】:2015-02-10 15:23:09
【问题描述】:
在 BIML 文件中工作时,我有 2 个 DataTables,我通过带有 SQL 查询的 ExternalDataAccess.GetDataTable 调用来填充它们。我在另一个内部循环,并试图通过从外部值过滤内部值来将 2 连接在一起。
我通过编写以下代码解决了这个问题:
foreach (DataRow t in Target.Rows) {
foreach (DataRow c in Columns.Rows) {
if (c["Object"].ToString() == t["ReferenceObject"].ToString()) {
//...
}
}
}
但是,我认为有一种方法可以过滤内部 foreach 循环。我可能在DataSet内部有1000条记录,这就是我缺乏经验的地方。
foreach (DataRow t in Target.Rows) {
foreach (DataRow c in Columns.Rows.Where(z => z["Object"].ToString() == t["ReferenceObject"].ToString())) {
//...
}
}
我收到一个错误:'System.Data.DataRowCollection' 不包含“Where”的定义并且没有扩展名*...我知道这是无效的,但这基本上就是我想要做的。有没有办法根据外部foreach 循环中的值过滤内部foreach 循环?
【问题讨论】:
标签: c# linq foreach filter biml