Импорт функции CONTAINS () SQL Server в качестве функции, определенной модели

Я пытаюсь импортировать функцию 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 '*'

Я понимаю, что функция I определенный не связан напрямую с запрашиваемым набором сущностей, так что это тоже может быть проблемой.

Есть ли способ это осуществить?

35
задан Ladislav Mrnka 1 February 2012 в 10:01
поделиться