字符串的LINQ部分包含在列表成员中
本文关键字:列表 成员 包含 LINQ 字符串 | 更新日期: 2023-09-27 18:15:11
我有一个包含部分值的字符串列表,即
var list = new List<string>{"A/B", "C/D"};
在我的DB中,我有这样的记录
- A/B/X
- X/C/V/B
- G/H/J
- C/D/D/C
- A/C
- A/B
所以我现在想从DB中查询以list
中包含的任何值开头的所有项目。从示例中,应该返回1、4和6。
我有其他的逻辑,正在做同样的事情,但其他方式,所以我可以查询像.Where(x => list.Contains(x))
,但无法找出如何选择的值开始与项目包含在列表中使用LINQ。
假设您正在使用EF从数据库获取数据,您可以执行以下操作:
var list = new List<string>{"A/B", "C/D"};
var query= context.YourDbSet.Where(e=>list.Any(a=>e.Column.StartWith(a)));// Column is a property of type string.
无论如何,这里的主要思想是检查你的项目是否以list
的一个元素开始,你可以使用string
的StartWith
方法来做。如果你的items
集合是一个字符串列表,那么这样做:
var query= items.Where(e=>list.Any(a=>e.StartWith(a)));