我有一種情況,我有表中的關鍵字列包含逗號分隔的關鍵字。用戶可以提供多個搜索條件以在關鍵字列中進行搜索。例如,用戶提供了下面的搜索條件「一,二,三」,並且db列可以包含「one」,「two」,「three」或其中任何一個。我該如何編寫一個與任何提供的搜索詞相匹配的查詢。Linq多關鍵字搜索
我曾嘗試以下
string[] searchTerm = {"one","two","three"};
query =Product.Where(p=> searchTerm.Any(val => p.Keywords.Contains(val)));
和
var query=db.Products;
foreach (string searchword in searchTerm)
{
query = query.Where(c => c.Keywords.Contains(searchword));
}
,但它不是爲我工作。
謝謝,
嗯,你的數據庫是不正確d esigned。不應該有任何格式的包含列表的列。您應該創建一個新表,其中包含關鍵字並且具有原始表的外鍵。 – svick