我使用下面的查询慢LINQ查询()
foreach (var callDetailsForNode_ReArrange in callDetailsForNodes_ReArrange)
{
var test = from r1 in dtRowForNode.AsEnumerable()
join r2 in dtFileRowForNode.AsEnumerable()
on r1.Field<int>("Lng_Upload_Id") equals r2.Field<int>("Lng_Upload_Id")
where ((r1.Field<string>("Txt_Called_Number") == callDetailsForNode_ReArrange.caller2.ToString()) || r1.Field<string>("Txt_Calling_Number") == callDetailsForNode_ReArrange.caller2.ToString())
select r2.Field<string>("Txt_File_Name");
var d = test.Distinct();
}
高达这里没有这个时间查询运行。但正如我加
string[] str =d.ToArray();
strFileName = string.Join(",", str);
它需要几乎4-5秒的运行。是什么让它加入.ToArray()
这么慢?
阅读第一个答案[此问题](http://stackoverflow.com/q/215548/601179) – gdoron 2013-05-10 12:01:52
.Distinct()不运行查询吗? – 2013-05-10 12:03:40
没有。它只是增加了一个事实,即你只需要每个元素一次就可查询。 – 2013-05-10 12:05:14