首页 新闻 会员 周边 捐助

entity framework 怎么使用全文索引查询?

0
悬赏园豆:50 [已解决问题] 解决于 2014-03-23 22:12

用SQL2005为某个表的字段建立了全文索引,以EntityFramework来做数据层,要怎么样查询才能利用到全文索引来提高查询性能?

空明流光的主页 空明流光 | 初学一级 | 园豆:111
提问于:2014-03-22 11:50
< >
分享
最佳答案
0

EF5已经支持了

空明流光 | 初学一级 |园豆:111 | 2014-03-23 22:12
其他回答(1)
0

用contains 或 自己构建SQL

收获园豆:50
Yu | 园豆:12990 (专家六级) | 2014-03-22 13:38

EF里where里的contains不行,我试了,根本不会用到我建立的全文索引,查询超过30秒,而我自己的sql只用了不到一秒。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2014-03-22 14:50

@沧海一杰: 如果我全部都自己构建SQL了,还要EF干什么?

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2014-03-22 14:51

@沧海一杰: 不是所有功能都能顾及的

支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2014-03-22 17:35

@Yu: 我试写了一下,业务好复杂,我宁愿不用全文索引了,EF要强大起来啊

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2014-03-23 19:39

@沧海一杰:

var query = context.ExecuteStoreQuery<Project>(
        "SELECT * FROM Project WHERE FREETEXT(*,{0})", 
        searchText
    ).AsQueryable();

 

FYI 

支持(0) 反对(0) Yu | 园豆:12990 (专家六级) | 2014-03-23 21:11

@Yu: 这个我知道,但业务很复杂,EF中有近10张表join,好几个表还是子join, 还要数据分页,搞了一天。但幸好找到一个方案,EF5已经支持全文检索,就是把人搜的。看来项目得升级呀。

支持(0) 反对(0) 空明流光 | 园豆:111 (初学一级) | 2014-03-23 22:11
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册