EF CORE Split 表达式树可能不包含使用可选参数的调用

  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 则返回数据。

 

posted @ 2020-09-17 16:28  颖子的踏坑路线  阅读(2356)  评论(0编辑  收藏  举报