首页 > 代码库 > EF实现checkbox多选查询

EF实现checkbox多选查询

业务需求:用户通过checkbox选择筛选条件,根据用户选择的条件查询出相应的数据

数据存储格式:“1,2,3,4”

传入参数格式:“1,3”

难点:1.用户选择的筛选条件是不确定的

 

   2.要是实现参数和数据库信息一一对比

思路:因为参数数量不确定,那么就考虑动态参数。

那么问题来了,懂ef的都知道动态参数是一坑.这次万能的度娘虽然强大,但还是没能帮我解决这个问题,各种方法试下来还是跪了.

最后我基友告诉我一个解决方案。

解决方法:

//传入的参数
string[] arr = new string[]{"#1#","#3#"};
//数据库数据结构
"#1#2#3#4#5#"  // #号是关键,也可以替换为其他符号
var list = xxx.GetAll(o=> arr.Any(e=>o.purpose.IndexOf(e) > -1 )).toList();
// Any:确定序列中的任何元素是否都满足条件。
// 通过Any来遍历参数,IndexOf来判断每个参数是否在数据中

 

EF实现checkbox多选查询