如何使用 LINQ 查询获取名称以数字开头的产品名称列表。?
How to get the List of products name whose name starts with numbers using LINQ query.?
我有一个 table,我想从中检索名称以 0 到 9 开头的产品列表。
代码片段。
List<string> searchItems = new List<string> { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };
.....Where(x=> searchItems.Any(y=> y.StartsWith(x.ProductName))).ToList();
我没有得到产品列表,得到 0 条记录,任何人请给我建议一个更好和正确的查询。
提前致谢。
尝试 x.ProductName.StartsWith(y)
而不是 y.StartsWith(x.ProductName)
。
你现在的做法是在问 "1".StartsWith("Your Product name")
。
让我们使用适当的标识符。这将帮助您找到错误:
var result = products.Where(product => searchItems.Any(
searchItem => searchItem.StartsWith(product.ProductName)))
因此您只保留那些具有 ProductName 的产品,其中至少有一个搜索项以此名称开头。
- 您的搜索项目:1 2 3 4 5 6 7 8 9
- ProductName = 19987.
是否有以产品名称 19987 开头的搜索项?
I have a table from where i want to retrieve the list of products whose name starts with 0 to 9.
如果您改写此查询将很简单:
I want to query all products that have a ProductName that starts with a digit
var productsWithDigitStartName = dbContext.Products
.Where(product => Char.IsDigit(product.ProductName[0]));
我有一个 table,我想从中检索名称以 0 到 9 开头的产品列表。 代码片段。
List<string> searchItems = new List<string> { "1", "2", "3", "4", "5", "6", "7", "8", "9", "0" };
.....Where(x=> searchItems.Any(y=> y.StartsWith(x.ProductName))).ToList();
我没有得到产品列表,得到 0 条记录,任何人请给我建议一个更好和正确的查询。 提前致谢。
尝试 x.ProductName.StartsWith(y)
而不是 y.StartsWith(x.ProductName)
。
你现在的做法是在问 "1".StartsWith("Your Product name")
。
让我们使用适当的标识符。这将帮助您找到错误:
var result = products.Where(product => searchItems.Any(
searchItem => searchItem.StartsWith(product.ProductName)))
因此您只保留那些具有 ProductName 的产品,其中至少有一个搜索项以此名称开头。
- 您的搜索项目:1 2 3 4 5 6 7 8 9
- ProductName = 19987.
是否有以产品名称 19987 开头的搜索项?
I have a table from where i want to retrieve the list of products whose name starts with 0 to 9.
如果您改写此查询将很简单:
I want to query all products that have a ProductName that starts with a digit
var productsWithDigitStartName = dbContext.Products
.Where(product => Char.IsDigit(product.ProductName[0]));