sql >> Database teknologi >  >> RDS >> Sqlserver

Er det muligt at bruge Full Text Search (FTS) med LINQ?

Ja. Du skal dog først oprette SQL-serverfunktion og kalde den, da LINQ som standard vil bruge et like.

Dette blogindlæg, som vil forklare detaljerne, men dette er uddraget:

For at få det til at fungere, skal du oprette en funktion med en tabelværdi, der ikke gør mere end en CONTAINSTABLE-forespørgsel baseret på de søgeord, du sender,

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

Du tilføjer derefter denne funktion til din LINQ 2 SQL-model, og han presto kan du nu skrive forespørgsler som.

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


  1. OracleParameter og IN-klausul

  2. Opret en tabel med to typer i PostgreSQL

  3. Er det muligt at henvise til en kolonne som flere fremmednøgler?

  4. Henter XMLA for at analysere terningstruktur