LINQクエリで使用できるように、Entity FrameworkモデルでSQL ServerのCONTAINS()関数をインポートしようとしています。モデル定義関数としてSQL ServerのCONTAINS()をインポートする
私はEDMにこれを追加しました:私はこのような機能を呼び出そう
[EdmFunction("MyModelNamespace", "FullTextSearch")]
public static bool FullTextSearch(string filter)
{
throw new NotSupportedException("This function is only for L2E query.");
}
:以下
from product in Products
where MyModel.FullTextSearch("FORMSOF(INFLECTIONAL, robe)")
select product
<Function Name="FullTextSearch" ReturnType="Edm.Boolean">
<Parameter Name="Filter" Type="Edm.String" />
<DefiningExpression>
CONTAINS(*, Filter)
</DefiningExpression>
</Function>
の追加は、私のメソッドスタブを作成しました例外が発生しました:
The query syntax is not valid. Near term '*'
私が定義した関数は照会されているエンティティセットに直接リンクされていないので、問題になる可能性もあります。
これを取り除く方法はありますか?
重複がありますか? http://stackoverflow.com/questions/224475/is-it-possible-to-use-full-text-search-fts-with-linq – Pondlife
この質問の推奨解決策は、テーブル値の関数をインポートすることです。 LINQ to SQLでは動作しますが、Entity Frameworkでは(currenty)動作しません。 –