有没有办法如何通过EF在数据库中找到类似的字符串? 我想向用户显示已经存在的问题,当他尝试添加一个新问题时(在堆栈溢出时实现完全相同的功能"可能已经有你的答案的问题")。 并按相关性排序
答案 0 :(得分:1)
你可以执行任何仲裁sql并获取实体框架对象。
using (var context = new myContext())
{
var myObject= context.myObject.SqlQuery("SELECT * FROM dbo.myObject where 'super duper where statement'").ToList();
}
您可以在sql语句中使用全文搜索和各种奇怪的机制。
请查看此answer了解更多信息
答案 1 :(得分:0)
我相信stackoverflow目前正在使用流行的elasticsearch引擎来索引条目并提供此功能,尝试使用EF(如果可能的话)实现这一点将非常麻烦。但是,除了字符串的简单匹配之外,您仍然可以使用常规字符串方法(StartsWith,Contains等)来提供一些有些复杂的搜索功能。例如:
var searchResult = Context.Products.All(x => x.Name.Contains("searchTerm"));