0
我正在尝试为DataTable
创建一个动态查找过滤器。表达式调用类型组合lambda linq,其中
该代码看起来像这样,我正在循环每个行/列。 (一个工作台进给另外一个)
DataRow FoundRow=null;
foreach (string ID in IDToCheck)
{
FoundRow = IdTable.AsEnumerable().Where(row => row.Field<string>(ID).Equals(
RowInfo[ID].ToString(),StringComparison.InvariantCultureIgnoreCase)).First();
DoStuffWith(FoundRow);
}
我不管理转换的row.Field<string>(ID)
到Expression.Call
。
我想重现Microsoft的示例。
你为什么要这么做?你有什么问题?虽然它可以简化为'IdTable.AsEnumerable()。其中(row => IDToCheck.Contains(row.Field(ID)))' –
实际上这个问题并不清楚,但IDToCheck'实际上是一个'Column name idtocheck'。两个表都有几个共同的列名。我试图将它们匹配在一起,如果在表中找不到第一个ID,则查找第二个ID和另一个表的另一个列。 (这是sedol,isin ...) – Yoyo
好的,但我仍然无法看到你当前的代码有什么问题? –