Ошибка "The full-text query parameter for Fulltext Query String is not valid" после обновления на .NET 4.0

20.02.2011 20:34 / Артём Волк / 679 просмотров / ...

После обновления до ASP.NET 4.0 реализация полнотекстового поиска с LINQ2SQL, описанная в сниппете более чем годичной давности перестала работать со следующей ошибкой: The full-text query parameter for Fulltext Query String is not valid.

Напомню, функция, возвращающая результаты поиска описывалась так:

CREATE FUNCTION [dbo].[fn_GetSnippetsByFullText]
(
	@search_string varchar(250),
	@search_count int
)
...

Судя по сообщениям в форумах ошибка возникает из-за того, что реализация LINQ2SQL в .NET 4.0 пытается передать параметр длинной в 8000 символов (это в моём случае, в форуме говорят и о 4000 символах). Похоже на ошибку (баг-репорт уже оформлен), а в качестве временного решения пришлось увеличить длинну параметра в определении функции:

CREATE FUNCTION [dbo].[fn_GetSnippetsByFullText]
(
	@search_string varchar(8000),
	@search_count int
)