私のEntityFrameworkアプリケーションは、いくつかのテーブル値関数を使用して、SQLServer2008で全文検索を実行します。
私の関数パラメーターは常にストア側stringsで変換されます。nvarchar(4000)すべてが正常に動作します。
ただし、内部から、LinqPadまたはカスタムEFプロバイダー(特にEFProviderWrapperToolkit )を使用して同じ関数を呼び出すと、文字列パラメーターが渡され、nvarchar(1)それらが機能しなくなります。
EFProviderWrapperToolkitをログレイヤーとして使用したくないので、特に心配しています。
これを回避する方法はありますか?
私は使用しEF 4.2 2012 June CTPています。にアップグレードすると役立つと思われる場合は5.0、試してみることができます。5.0にアップグレードすると、アップグレードが強制さ.NET 4.5 and VS 2012れ、製品の生産中に大きな影響が出ると思うので、まだしていません。
編集
チェックしたところ、文字列パラメータは次のように自動的にインポートされました。
<Parameter Name="aProcessoSimplesTerm" Type="nvarchar" Mode="In" />
サイズの指定がないことがわかります。私はそれを変更しませんでした、それはそれがインポートされた方法です。