我在我的應用程序中使用帶有LINQ的全文搜索,因爲LINQ不支持此功能我使用表值函數解決方法。在SQL Server上創建函數2008全文查詢字符串的全文查詢參數無效
出人意料的是,我得到錯誤「的全文查詢字符串中的全文查詢參數無效」當我搜索一個簡單的文本例如「經理人」
我使用SQL Server事件探查,結果發現,LINQ生成的參數爲爲nvarchar(4000),而不是爲nvarchar(250),這是在我的功能。
最大的驚喜來到時,我改變了我的SQL Server功能,因此它接受的參數爲爲nvarchar(4000),而不是爲nvarchar(250),問題就解決了。
我也玩到改變參數爲nvarchar(2000年)和少但是這也沒有工作。
有人知道爲什麼這樣表現嗎?
更新於2013年11月18日 - 好消息和壞消息
好消息 - 我現在使用的實體框架6這個特殊的例子,它不再需要使用爲nvarchar(4000)
壞消息 - 你必須使用,而不是爲nvarchar(最大) :-(
,想到的唯一的事情是,你有數據庫表結構緩存在設計dbml時。您可以將它完全更改爲nvarchar(max),並將其重新映射到您的應用程序中。 – 2010-09-22 16:19:00