LINQ to SQL查询字符串StartsWith来自通用列表的元素

And*_*ans 16 c# startswith linq-to-sql

我正在寻找更新我的一个查询,因为搜索的要求已经改变.最初,用户要输入单个SKU和制造商.日期范围以搜索产品目录.所以这就是我用过的东西.

DateTime startDate = ...;
DateTime endDate = ...;
string prodSKU = TextSKU.Text.Trim();

var results = from c in db.Products
                where c.is_disabled == false 
                && c.dom >= startDate 
                && c.dom <= endDate 
                && c.sku.StartsWith(prodSKU)
                select c;
Run Code Online (Sandbox Code Playgroud)

现在要求说用户可以在文本框中输入逗号分隔的SKU列表进行搜索.我很难过的是如何在制造商中找到所有产品.以skuList中的任何SKU开头的日期范围(没有使用fornext循环).

string prodSKU = TextSKU.Text.Trim();
List<string> skuList = prodSKU.Split(new char[] { ', ' }).ToList();

var results = from c in db.Products
                where c.is_disabled == false 
                && c.dom >= startDate 
                && c.dom <= endDate 
                // && c.sku.StartsWith(prodSKU)
                select c;
Run Code Online (Sandbox Code Playgroud)

任何想法将不胜感激!

Ric*_*end 22

就像是

string prodSKU = TextSKU.Text.Trim(); 
List<string> skuList = prodSKU.Split(new char[] { ', ' }).ToList();  

var results = from c in db.Products                 
   where c.is_disabled ==false                  
   && c.dom >= startDate                  
   && c.dom <= endDate                  
   &&  skuList.Any(sl=>c.sku.StartsWith(sl))                 
      select c; 
Run Code Online (Sandbox Code Playgroud)