Я формирую критерии поиска в своем приложении с помощью методов расширения IQueryable, например:
public static IQueryable<Fish> AtAge (this IQueryable<Fish> fish, Int32 age)
{
return fish.Where(f => f.Age == age);
}
Однако у меня также есть хранимая процедура полнотекстового поиска:
CREATE PROCEDURE [dbo].[Fishes_FullTextSearch]
@searchtext nvarchar(4000),
@limitcount int
AS
SELECT Fishes.* FROM Fishes
INNER JOIN CONTAINSTABLE(Fishes, *, @searchtext, @limitcount)
AS KEY_TBL ON Fishes.Id = KEY_TBL.[KEY]
ORDER BY KEY_TBL.[Rank]
Хранимая процедура, очевидно, не возвращает IQueryable, однако возможно ли каким-то образом ограничить набор результатов для хранимой процедуры, используя IQueryable?
Я предполагаю что-то вроде .AtAge (5) .AboveWeight (100).Fishes_FulltextSearch ("abc").
В этом случае полнотекстовый поиск должен выполняться в меньшем подмножестве моей таблицы Fishes (суженное по возрасту и весу).
Возможно ли что-то подобное?Пример кода?