sql >> Base de Datos >  >> RDS >> Sqlserver

¿Es posible utilizar la búsqueda de texto completo (FTS) con LINQ?

Sí. Sin embargo, primero debe crear la función del servidor SQL y llamarla, ya que, de forma predeterminada, LINQ usará un me gusta.

Esta publicación de blog que explicará los detalles, pero este es el extracto:

Para que funcione, debe crear una función con valores de tabla que no haga nada más que una consulta CONTAINSTABLE basada en las palabras clave que pasa,

create function udf_sessionSearch
      (@keywords nvarchar(4000))
returns table
as
  return (select [SessionId],[rank]
            from containstable(Session,(description,title),@keywords))

Luego agrega esta función a su modelo LINQ 2 SQL y listo, ahora puede escribir consultas como.

    var sessList = from s   in DB.Sessions
                   join fts in DB.udf_sessionSearch(SearchText) 
                   on s.sessionId equals fts.SessionId
                 select s;