我正在尝试从多个字符串匹配中进行选择。
条件 -
从列CardTagTables
没有这些字符串的CardTagName
中选择String1
,String2
。
List<string> stringArray =new List<string>{ "String1", "String2" };
var query = (from u in db.CardTables
join v in db.CardTagTables
on u.CardID equals v.FKCardTagID
where u.IsApproved == "YES" &&
!v.CardTagName.Contains(stringArray.ToString())
我正在尝试仅提取stringArray
中的字符串以外的记录。
有两个字符串 - String1
和String2
答案 0 :(得分:1)
替换
v.CardTagName.Contains(stringArray.ToString()
与
v.CardTagName.Any(element => stringArray.Contains(element))
答案 1 :(得分:1)
您只需更改Contains
订单,而不是:
!v.CardTagName.Contains(stringArray.ToString())
尝试:
!stringArray.Contains(v.CardTagName)
答案 2 :(得分:0)
尝试这样的事情:
var result = CardTagTables.Select(x => stringArray.Any(y => x.CardTagName.Contains(y))).ToList();
这是未经测试的,但我认为这是主意;)