用NOT IN子句实现动态LINQ查询

ar7v8xwq  于 2022-12-06  发布在  其他
关注(0)|答案(2)|浏览(169)

我有从后端生成的动态字符串,它生成如下表达式:

"Col NOT IN ('ABC','CDE','EDF'...)"

我想利用上面的字符串对我的IEnumerable集合进行 predicate 。动态LINQ支持NOT IN操作吗?

czq61nw1

czq61nw11#

可以使用一种不太常用但功能相同的SQL语法来实现此目的:

"NOT (Col IN ('ABC','CDE','EDF'...))"

这对SQL和动态链接都有效

jecbmhm3

jecbmhm32#

您没有提供示例代码,但它看起来像这样;

var array = new [] {"ABD", "ABC", "BED"};
var result = _context.table.Where(x => !array.Any(y => x.Col1 == y));

相关问题