Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Czy można używać wyszukiwania pełnotekstowego (FTS) z LINQ?

Tak. Jednak najpierw musisz utworzyć funkcję serwera SQL i wywołać ją, ponieważ domyślnie LINQ użyje podobnego.

Ten post na blogu, który wyjaśni szczegóły, ale to jest fragment:

Aby to zadziałało, musisz utworzyć funkcję o wartości tabeli, która nie robi nic więcej niż zapytanie CONTAINSTABLE na podstawie przekazanych słów kluczowych,

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

Następnie dodajesz tę funkcję do swojego modelu SQL LINQ 2 i możesz teraz pisać zapytania takie jak.

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Czy naprawdę muszę używać SET XACT_ABORT ON?

  2. Jak uciec od ciągów znaków w SQL Server przy użyciu PHP?

  3. sql server 2008 management studio nie sprawdza składni mojego zapytania

  4. Co to jest serwer SQL? (Definicja, Wersje, Edycje)

  5. Podziel zakres dat na jeden wiersz na miesiąc na serwerze sql