I propose a different approach. Create a table function with full-text search on the SQL server and call it from the Entity Framework with a parameter. A simplified example from my project, which is looking for the full text over two tables and can be easily called from EF:
CREATE FUNCTION [dbo].[GetRealtyMapFulltext] (@criteria nvarchar(4000)) RETURNS TABLE AS RETURN (SELECT realty.Id AS realtyId, ( COALESCE(ftR.Rank,0) + COALESCE(ftObec.Rank,0)) AS FtRank FROM realty LEFT JOIN ruian_obec ON realty.obecId = ruian_obec.obec_kod Left JOIN CONTAINSTABLE(Realty, *, @criteria) ftR ON realty.Id = ftR.[Key] Left JOIN CONTAINSTABLE(ruian_obec, *, @criteria) ftObec ON realty.obecId = ftObec.[Key] AND ( COALESCE(ftR.Rank,0) + COALESCE(ftObec.Rank,0) > 0)
source share