[英]Unable to filter out records using C# list in Linq query
我的數據庫中有一個Products表,並且有一個用於保存產品顏色的字符串列。
我正在嘗試實現一項功能,用戶可以通過選擇多個顏色名稱來搜索產品。 為此,我正在使用包含多個顏色名稱的C#列表。
List<string> colorNames = new List<string>() { "silver" };
上面的代碼表明,我目前僅使用一種顏色來查找與“銀色”顏色匹配的產品。 我使用的Linq查詢如下:
context.Products.Where(prd => colorNames.Contains(prd.Color.ToLower().Trim()));
上面的代碼運行沒有任何錯誤,但是我面臨的問題是它返回的產品僅具有銀色。 但是在數據庫中,還存在顏色為“淺銀” , “深銀紅色”等的現有產品。我希望我的Linq查詢也返回這些產品。
我知道這是不可能的,因為查詢將僅匹配銀色,但是我需要一種解決方法。
context.Products.Where(prd => colorNames.Any(col => prd.Color.ToLower().Trim().Contains(col)));
你可以試試看
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.