Próbuję zaimportować funkcję CONTAINS() SQL Server w moim modelu Entity Framework, aby móc jej używać w moich kwerendach LINQ.Importowanie CONTAINS() funkcji SQL Server jako funkcji zdefiniowanej w modelu
Dodałem to do mojego EDM:
<Function Name="FullTextSearch" ReturnType="Edm.Boolean">
<Parameter Name="Filter" Type="Edm.String" />
<DefiningExpression>
CONTAINS(*, Filter)
</DefiningExpression>
</Function>
dodawania stworzony moja metoda niedopałek:
[EdmFunction("MyModelNamespace", "FullTextSearch")]
public static bool FullTextSearch(string filter)
{
throw new NotSupportedException("This function is only for L2E query.");
}
próbuję wywołać funkcję tak:
from product in Products
where MyModel.FullTextSearch("FORMSOF(INFLECTIONAL, robe)")
select product
Poniższy wyjątek jest podniesiony:
The query syntax is not valid. Near term '*'
Zdaję sobie sprawę, że zdefiniowana przeze mnie funkcja nie jest bezpośrednio powiązana z kwestionowanym zestawem encji, co może być również problemem.
Czy istnieje sposób, aby to zrobić?
Możliwy duplikat? http://stackoverflow.com/questions/224475/is-it-possible-to-use-full-text-search-fts-with-linq – Pondlife
Sugerowanym rozwiązaniem w tym pytaniu jest import funkcji o wartości tabelarycznej, która działa dla LINQ do SQL, ale nie (aktualny) dla Entity Framework –