Estoy intentando importar la función CONTAINS() de SQL Server en mi modelo de Entity Framework para poder usarlo en mis consultas LINQ.Importación de CONTAINS() de SQL Server como una función definida por modelo
he añadido esto a mi EDM:
<Function Name="FullTextSearch" ReturnType="Edm.Boolean">
<Parameter Name="Filter" Type="Edm.String" />
<DefiningExpression>
CONTAINS(*, Filter)
</DefiningExpression>
</Function>
Agregar creado mi método talón:
[EdmFunction("MyModelNamespace", "FullTextSearch")]
public static bool FullTextSearch(string filter)
{
throw new NotSupportedException("This function is only for L2E query.");
}
Trato de llamar a la función como esta:
from product in Products
where MyModel.FullTextSearch("FORMSOF(INFLECTIONAL, robe)")
select product
La siguiente se produce una excepción:
The query syntax is not valid. Near term '*'
Me doy cuenta de que la función que he definido no está directamente relacionada con el conjunto de entidades que se está consultando, por lo que también podría ser un problema.
¿Hay alguna manera de lograr esto?
¿Posible duplicado? http://stackoverflow.com/questions/224475/is-it-possible-to-use-full-text-search-fts-with-linq – Pondlife
La solución sugerida en esta pregunta es importar una función con valores de tabla, que funciona para LINQ to SQL pero no (actual) para Entity Framework –