我希望這個標題足夠簡單。基本上,我有一個沒有安裝全文索引的數據庫。而不是安裝全文索引,我想知道是否有一種方法與Linq做到這一點?使用Linq的CONTAINS或FREETEXT搜索工具
0
A
回答
1
你可以寫上System.String
使用實例方法LINQ查詢。大多數LINQ提供者能夠將其轉換爲SQL語句。例如:
from customer in db.Customers
where customer.Name.Contains("foo") || customer.Name.Contains("bar")
select customer;
LINQ到實體將它轉換爲是這樣的:
SELECT T1.*
FROM Customers T1
WHERE T1.Name LIKE '%' + @p1 + '%'
OR T1.Name LIKE '%' + @p2 + '%'
需要注意的是,當你需要的話的動態數字搜索,您可以使用PredicateBuilder。它允許您構建包含OR語句的謂詞。用工會改寫它也是一種有效的方法。例如:
string[] searchWords;
// Define an empty set.
var customers =
from customer in db.Customers
where false
select customer;
// Union the empty set with a set for a word.
foreach (var temp in searchWords)
{
var searchWord = temp;
customers = customers.Union(
from customer in db.Customer
where customer.Name.Contains(searchWord)
select customer);
}
1
我相信你是像後:
from xx in table
where uids.Contains(xx.uid.ToString())
select xx
?
如果你是後獨立字符串搜索,也許是:
string input = "some String";
string[] toSearchFor = GetSearchStrings();
var containsAll = toSearchFor.All(x => input.Contains(x));
相關問題
- 1. 全文搜索不起作用(FREETEXT - CONTAINS)
- 2. 什麼是共享點的默認搜索查詢(FreeText或Contains)?
- 3. SQL Server 2008 FREETEXT搜索停止工作
- 4. SharePoint FullTextSqlQuery搜索多列FREETEXT
- 5. CONTAINS搜索
- 6. FreeText的搜索包含關鍵字
- 7. 使用.contains()通過HashSet進行搜索
- 8. 在SQL Server中使用CONTAINS搜索
- 9. 使用LINQ搜索
- 10. 搜索使用LINQ
- 11. 使用linq搜索
- 12. 如何使用tortoisehg的搜索工具?
- 13. 使用Shell腳本的搜索工具
- 14. 使用實體框架進行全文搜索:由於未對列進行全文索引,因此無法在列上使用CONTAINS或FREETEXT謂詞
- 15. 使用LINQ Contains與SqlMethods.Like
- 16. LINQ - Where子句使用Contains
- 17. 如何使用Linq Contains()?
- 18. LINQ中不能使用'contains'
- 19. Resharper:'contains'模式搜索
- 20. SQL中使用CONTAINS()不工作和&或
- 21. jqgrid工具欄搜索或外部搜索功能
- 22. 用Linq搜索
- 23. wxwidgets中的搜索工具小工具
- 24. 使用linq過濾搜索
- 25. 使用LINQ搜索XML
- 26. 搜索如果使用LINQ
- 27. 使用linq和dropdowns搜索
- 28. 搜索對Type.Method的調用的工具?
- 29. 使用.Contains保留與LINQ的訂單
- 30. 如何處理MS-SQL FreeText搜索中的單個字符搜索項?
+1 - 打我給它重新。所有()......這麼說,我覺得這個通用的解決方案(試圖仿效自由文本搜索)將是一個真正的資源和性能豬OP。 – 2010-12-09 16:08:33
我不認爲LINQ to Entities能夠處理`All`運算符。 – Steven 2010-12-09 16:26:38