我有一个遗留数据库,它的数据元素以逗号分隔的列表形式存储在单个数据库字段中。(我没有设计那个,我只是坚持下去。)
我有一个字符串列表,我想与 DB 字段中“数组”中的任何单个值匹配,但不确定如何在 Linq 中执行此操作。
我的列表:
List<string> items= new List<string>();
items.Add("Item1");
items.Add("Item2");
数据库字段“产品”将包含如下数据:
"Item1,Item3,Item4"
"Item3,Item5,Item6"
"Item2,Item7,Item6"
"Item1,Item2"
"Item1"
我第一次通过 Linq 查询是:
var results = (from o in Order
.Where(p=> items.Contains(p.Products)
但我知道那是行不通的。因为它只会返回只包含“Item1”或“Item2”的记录。因此,对于上面的示例数据,它将返回 0 条记录。我需要让它返回两条记录。
有什么建议么?