MsSql ФУНКЦИЯ и ГДЕ - PullRequest
       2

MsSql ФУНКЦИЯ и ГДЕ

0 голосов
/ 13 сентября 2018

Я использую .NET CORE и Entity FrameWork.Я работаю над поисковыми запросами в JobList, у которого в запросе есть ключи, дата, сектора, позиции и т. Д.

В моей таблице JobList задан полнотекстовый поиск, и мне нужен лучший подход для поисковых запросов.

Я создал функцию для полнотекстового поиска.Эта функция поиска ключей в JobList и мне нужен фильтр с таблицами отношений

enter image description here

ALTER FUNCTION F_SearchQuery ( @query nvarchar(3995),@offset integer,@next integer ) RETURNS @List TABLE(Id integer) AS 
    BEGIN 
        DECLARE @string nvarchar(4000)
        SET @string = '"'+@query +'*"'
        INSERT INTO @List(Id) SELECT FT_TBL.Id
                                FROM PostJob AS FT_TBL   
                                INNER JOIN  
                                CONTAINSTABLE (PostJob, (Title,SearchTags,Info),  @string) AS KEY_TBL  
                                ON FT_TBL.Id = KEY_TBL.[KEY]  
                                ORDER BY KEY_TBL.RANK DESC  
                                OFFSET @offset ROWS FETCH NEXT @next ROWS ONLY

        RETURN
    END 

Мой вопрос:

SELECT * FROM F_SearchQuery('software',0,10) 
INNER JOIN JobLocation J on J.JobId = JobId
INNER JOIN JobFeatures F on F.JobId = JobId
WHERE 
J.LocationId IN (filter locations) AND
J.FeatureId IN (filter features)

Этот запрос сначала выполняется и получает таблицу из F_SearchQuery () и после фильтрации по ключевым словам где?

Мне нужен поисковый запрос + фильтр таблиц отношения с функцией sql или Entity Framework IQuerable.

Как лучшеспособ / подход для поисковых запросов?

Мой другой вопрос: Entitiy Framework Как улучшить выполнение запросов к многим таблицам отношений?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...