Параметр полнотекстового запроса для строки полнотекстового запроса недействителен

Я использую полнотекстовый поиск с LINQ в своем приложении, и, поскольку это не поддерживается LINQ, я использую обходной путь функции с табличным значением. создан на SQL Server 2008.

Удивительно, но я получаю сообщение об ошибке «Параметр полнотекстового запроса для строки полнотекстового запроса недействителен», когда ищу простой текст, например «Manager»

Я использовал SQL Server Profiler и обнаружил, что LINQ генерирует параметр как nvarchar (4000) вместо nvarchar (250), который находится в моей функции.

Самый большой сюрприз произошел, когда я изменил свою функцию SQL Server поэтому он принимает параметр как nvarchar (4000) вместо nvarchar (250), и проблема решена.

Я также играл, чтобы изменить параметр на nvarchar (2000) и меньше, но это тоже не сработало.

Кто-нибудь знает, почему это так?

Обновлено 18 ноября 2013 г. - Хорошие новости и плохие новости

Хорошие новости - сейчас я использую Entity Framework 6 для этого конкретного примера, а это не больше не требуется использовать nvarchar (4000)

Плохие новости. Вместо этого вы должны использовать nvarchar (max) : - (

10
задан Vaclav Elias 18 November 2013 в 17:05
поделиться