2014-03-27 66 views
0

有沒有辦法如何通過EF在數據庫中找到類似的字符串? 我想向用戶顯示當他嘗試添加新問題時的已有問題(在堆棧溢出中實現與此處完全相同的功能「可能已經有答案的問題」)。 並通過相關性排序它們實體框架找到類似的字符串

回答

1

你可以執行任意的任意的sql並獲取實體框架對象。

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

而且你可以在sql語句中使用全文搜索和各種奇怪的機制。

看看這個answer進一步信息

0

我相信目前計算器使用流行elasticsearch引擎索引中的條目,並提供了這個功能,這將是非常麻煩的,試圖實現這個只用EF(如果在所有可能的)。但是,除了簡單的字符串匹配之外,您仍然可以使用普通的字符串方法(StartsWith,Contains等)來提供一些有點複雜的搜索功能。例如:

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