【问题标题】:Entity framework find similar string实体框架找到相似的字符串
【发布时间】:2014-05-06 09:31:50
【问题描述】:

有没有办法通过 EF 在数据库中找到类似的字符串? 当他尝试添加一个新问题时,我想向用户展示已经存在的问题(实现与堆栈溢出完全相同的功能“可能已经有你答案的问题”)。 并按相关性排序

【问题讨论】:

    标签: c# entity-framework search


    【解决方案1】:

    你可以执行任意 sql 并取回实体框架对象。

    using (var context = new myContext()) 
    { 
        var myObject= context.myObject.SqlQuery("SELECT * FROM dbo.myObject where 'super duper where statement'").ToList(); 
    }
    

    而且你可以在你的 sql 语句中使用全文搜索和各种奇怪的机制。

    查看answer 了解更多信息

    【讨论】:

      【解决方案2】:

      我相信 stackoverflow 目前正在使用流行的 elasticsearch 引擎来索引条目并提供此功能,尝试仅使用 EF(如果可能的话)实现它会非常麻烦。但是,您仍然可以使用普通的字符串方法(StartsWith、Contains 等)来提供一些复杂的搜索功能,而不是简单的字符串匹配。例如:

      var searchResult = Context.Products.All(x => x.Name.Contains("searchTerm"));
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多