我们在 EFv1 中工作,我正在实现一个带有多个过滤器选项的搜索控件。我将它们中的大多数翻译成 .Where 子句,这在 EF 中是可以的。
但是有一种特定的过滤器可以使我的应用程序运行非常慢:文本搜索。数据库中的列在我的 EF 模型中有相应的实体属性,但我不能在其中放置 Contains,这不利于文本搜索。
你觉得在这种情况下用什么好?
我听说过Lucene,我不知道这个是否与EFv1集成。
谢谢
最佳答案
我已经成功地做到了这一点。这些步骤是:
- 编写一个执行全文索引搜索的存储过程。
- 更新您的模型定义(上下文菜单中的“从数据库更新模型”)。您需要添加新的存储过程
- 创建函数导入(在模型浏览器窗口中,右键单击新的存储过程并创建函数导入)。将返回类型设置为适当的返回类型(您的实体之一)。
然后您将拥有一个可以在您的 Context 上调用的方法,该方法将返回一个 EntityCollection<>。
关于c# - 全文搜索和 Entity Framework v1 : is it possible?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1909104/