Я пытаюсь импортировать функцию SQL Server CONTAINS() в моей модели Entity Framework, чтобы я мог использовать ее в своих запросах LINQ.
Я добавил это в свой EDM:
<Function Name="FullTextSearch" ReturnType="Edm.Boolean">
<Parameter Name="Filter" Type="Edm.String" />
<DefiningExpression>
CONTAINS(*, Filter)
</DefiningExpression>
</Function>
Добавить созданный мой заглушка метода:
[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
Вызывается следующее исключение:
The query syntax is not valid. Near term '*'
Я понимаю, что определенная функция не связана напрямую с запросом объекта, который также может быть проблемой.
Есть ли способ снять это?