I have the following code:
var deletedData
= (from c in this.DataSet.Tables["TableName1"].AsEnumerable()
from deletedData1 in this.DataSet.Tables["TableName2"].AsEnumerable()
where (
(c.Field<string>("ColumnName1")
== deletedData1.Field<string>("ColumnName2"))
&& (c.Field<string>("ColumnName1") == someString))
select new
{
T1 = c.Field<string>("ColumnName3"),
T2 = deletedData1.Field<string>("ColumnName4"),
T3 = c.Field<string>("ColumnName5"),
T4 = deletedData1.Field<string>("ColumnName6")
});
执行完这个操作后,当我打开
deletedData
的结果时,它显示函数评估超时。有人能帮我解决这个问题吗?Table1
有18000行,Table2
有400行。当我使用deletedData1
时,我的UI会挂起。
let
关键字允许你在查询中存储一个变量,以便稍后重用。这提高了可读性和性能(在Linq-To-Objects中)。你也可以像使用c.Field<string>("ColumnName1")
一样重复使用它。 - Tim Schmelter