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 則返回數據。