【问题标题】:Transform Linq to T-Sql Contains function将 Linq 转换为 T-Sql 包含函数
【发布时间】:2016-05-28 19:05:15
【问题描述】:

我已经在人类全名部分上建立了全文索引,并希望改进我当前的搜索结果。

目前我正在使用 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() ?

【问题讨论】:

    标签: c# sql .net linq contains


    【解决方案1】:

    在 EF6 中似乎不支持此功能,但可以使用拦截器解决此问题。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-27
      • 2010-12-02
      • 1970-01-01
      • 1970-01-01
      • 2017-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多