Я хочу заказать по моим результатам со счетом совпадений в строке строки.Сплит-строка с LINQ
Так вот код
.ThenByDescending(p => p.Title.ToLower()
.Split(' ')
.Count(w => words.Any(w.Contains)));
Но это принесет мне ошибку и говорит, что LINQ не может разобрать Split
в SQL.
LINQ к Entities не распознает метод 'System.String [] ([] CHAR) Split' метод, и этот метод не может быть переведен в выражение в магазине.
Как я могу реализовать Split через LINQ?
Например, для этого массива он должен приказать таким образом
words = { "a", "ab" }
ab a ggaaag gh //3 matches
ba ab ggt //2 matches
dd //0 matches
Но это приведет к загрузке всех данных в память и выполнению преобразования LINQ to Objects против него, не так ли? – abatishchev
Да, это правда. Оптимально вы можете применять условия в разделе where перед вызовом 'AsEnumerable'. вы не можете сделать это, не принося объекты в память –
Я думаю, что это сбой с большими таблицами. Я согласен с абатищевым. –