Я использую следующий запросSlow LINQ запрос для .ToArray()
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();
}
UPTO здесь этого запуска запроса в кратчайшие сроки. Но по мере того как я добавил
string[] str =d.ToArray();
strFileName = string.Join(",", str);
Выполняется почти 4-5 секунд. Что делает его настолько медленным при добавлении .ToArray()
?
Прочтите первый ответ на [этот вопрос] (http://stackoverflow.com/q/215548/601179) – gdoron
Делает ли .Distinct() запрос? –
Nope. Это просто добавляет тот факт, что вам нужен только один элемент для запроса. –