EF 默认不支持这种查询

.WhereIf(input.SGL_TypeId != null, x=> input.SGL_TypeId.Any(d=> ("," + x.SGL_TypeId + ",").Contains("," + d + ",")))
这个问题是因为EF 不支持生成分割支付去给你匹配
按照我数据库设计 字段 SGL_TypeId 存储的数据是 1,2,3,4,5,6
提交的查询数据是个数组string[] SGL_TypeId 如提交的数据是 3,5,6
两个数组对比查询这条记录出来,
原理,吧数据库的 1,2,3,4,5,6 加上 前后缀逗号,然后委托一个一个判断 ,3, ,5, ,6, 返回true 则返回数据。