我有一个现有的网站开发使用ASP.NET MVC 3和实体框架4查询sql Server 2008数据库.它包含一个包含大约10个字段的搜索表单,当用户单击提交按钮时,我动态创建仅包含指定搜索字段的实体sql请求,省略空的.有用.到现在为止还挺好.
现在,客户端希望为其中一个字段提供全文搜索行为.我认为这个要求很复杂,因为(AFAIK):
>实体框架本身不支持全文搜索
>我想避免存储过程来包装FTS语法,因为到目前为止,我只使用“静态”SP,将逻辑保留在.NET代码中.所以我想尝试避免在过程中构建查询.并且每个可能的搜索字段组合创建一个过程不是一个选项.
解决方案我可以想到到目前为止:
>将存储过程或用户定义的函数作为一个seach preadicate在WHERE子句(我不知道这是可能的)
>在临时表中单独获取FTS结果,并在该临时表上执行其他过滤器.如果有这么多的FTS结果,我怕表现不佳…
这样做最好的方法是什么?