如何在linq中搜索逗号分隔的字段
本文关键字:分隔 字段 搜索 linq | 更新日期: 2023-09-27 18:10:19
如何通过linq查询数据库中以逗号分隔的值。我的场景是用户可以从列表框中选择多个值,然后在数据库中的逗号分隔字段中搜索这些项目。我选择了两个条目,所以值是2,3数据库字段的值是
1,2,4,5
1,4,3,6
2,3,4,5
1,4
选择的记录必须是记录1,因为它有2,记录2,因为它有3,记录3,因为它有两个,拒绝记录4。我尝试的是
string Commodites = "2,3";
obj.Where(e => Commodites.Contains(e.Id)).Distinct()
但是它只选择值为2和3的记录
对于CSV拆分,我建议您使用任何CSV解析器,而不是简单地使用string.Split
方法。
string[] input = { "1,2,4,5", "1,4,3,6", "2,3,4,5", "1,4" };
var result = input.Where(l => l.Split(',').Any(s => new[] { "2", "3" }.Contains(s)));