У меня проблемы с linq для сущностей в структуре сущностей ado.net. В основном то, что я делаю, это:
var results = (from c in companies
where c.Name.StartsWith(letter)
select c);
и это переводится в SQL как что-то вроде:
WHERE (CAST(CHARINDEX(@p, [Extent1].[Name]) AS int)) = 1
это нормально, но в моей таблице миллионы записей, поэтому она работает ОЧЕНЬ медленно. То, что мне нужно, чтобы сгенерировать это что-то вроде:
WHERE Name LIKE @p + '%'
Я искал все выше и ниже и не могу найти никаких решений, кроме как использовать хранимую процедуру или использовать сущность sql ...
Есть ли способ сделать это через linq? Возможно, каким-то образом расширив linq до сущностей провайдера linq, или каким-то образом перехватывая дерево команд или сгенерированный запрос?