将 Linq 转换为 T-SQL 包含函数

本文关键字:包含 函数 T-SQL Linq 转换 | 更新日期: 2023-09-27 18:34:52

>我已经在人类全名部分上建立了一个全文索引,并希望提高我目前的结果人员搜索实现。

目前我正在使用Linq Contains((方法,然后将其转换为Sql"LIKE"表达式。

但是现在我想将我的 Linq 表达式转换为 T-Sql CONTAINS(( 函数,该函数将使用我的全文索引来更快地搜索。

如何使用 linq 实现这一点?

我当前的 linq 表达式如下所示:

var query = from pi in context.PersonInfos                                    
        where
            (pi.FirstName.Contains(token0)
             || pi.LastName.Contains(token0)
             || pi.MiddleName.Contains(token0))
            && !pi.Disabled
        select pi;

或者也许有类似于 SqlMethods 扩展,它有方法,转换为 CONTAINS(( ?

将 Linq 转换为 T-SQL 包含函数

EF6 似乎不支持此功能,尽管可以使用拦截器来解决。

http://www.entityframework.info/Home/FullTextSearch