gpt4 book ai didi

.net - 通过 Entity Framework 的 Sql Server Freetext

转载 作者:行者123 更新时间:2023-12-02 10:23:39 24 4
gpt4 key购买 nike

我有一个使用 ASP.NET MVC 3 和 Entity Framework 4 开发的现有网站,查询 Sql Server 2008 数据库。它包含一个包含大约 10 个字段的搜索表单,当用户单击提交按钮时,我动态创建一个仅包含指定搜索字段的 Entity SQL 请求,忽略空字段。有用。到目前为止一切顺利。

现在,客户端希望对其中一个字段进行全文搜索行为。我认为这个请求非常复杂,因为(据我所知):

  • Entity Framework 本身不支持全文搜索
  • 我想避免存储过程来包装 FTS 语法,因为到目前为止我只使用了“静态”SP,将逻辑保留在 .NET 代码中。所以我想尝试避免在过程中构建查询。并且为每个可能的搜索字段组合创建一个过程并不是一种选择。

到目前为止我能想到的解决方案:

  • 将存储过程或用户定义函数作为 WHERE 子句中的搜索谓词(但我不确定这是否可行)
  • 在临时表中单独获取 FTS 结果,并在该临时表上执行其他过滤器。如果使用此技术有大量 FTS 结果,我担心性能会很差...

解决这个问题的最佳方法是什么?

最佳答案

你不能只使用原始sql吗?那么您可以将逻辑保留在 .NET 代码中。

所以,它看起来像:

string sql = "DO FULLTEXT STUFF";
MyObjectContext.ExecuteStoreQuery<MyEntity>(sql, .......);

关于.net - 通过 Entity Framework 的 Sql Server Freetext,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5912559/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com