sql >> Database >  >> RDS >> Sqlserver

Is het mogelijk om Full Text Search (FTS) te gebruiken met LINQ?

Ja. U moet echter eerst een SQL-serverfunctie maken en die aanroepen, aangezien LINQ standaard een like zal gebruiken.

Deze blogpost die de details zal uitleggen, maar dit is het uittreksel:

Om het werkend te krijgen, moet je een functie met tabelwaarde maken die niets meer doet dan een CONTAINSTABLE-query op basis van de trefwoorden die je doorgeeft,

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

Vervolgens voegt u deze functie toe aan uw LINQ 2 SQL-model en u kunt nu query's schrijven zoals.

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


  1. Hoe maak je een unieke index waarbij geen rekening wordt gehouden met de kolomvolgorde (ingesteld?)

  2. Hoe MAX() te gebruiken voor een subqueryresultaat?

  3. Hoe kap je alle tabellen in een database af met TSQL?

  4. Oracle verbinden met PostgreSQL