ASP.NET Core 7 Web API下EF Core多可选参数搜索实现方法问询
基于EF Core的ASP.NET Core 7 Web API多可选参数搜索实现
在开发基于EF Core的ASP.NET Core 7 Web API时,常会遇到这类需求:支持用户传入多个可选参数进行搜索——比如用户同时指定年龄和性别时,返回同时匹配这两个条件的用户列表;若只传年龄参数,则仅返回符合年龄条件的结果。
我已经找到对应的实现方案,代码示例如下:
var result = _dbContext.Sample .Where(sample => string.IsNullOrEmpty(userId) ? true : EF.Functions.Like(sample.User, $"%{userId}%") && string.IsNullOrEmpty(sampleNo) ? true : EF.Functions.Like(sample.SampleNumber, $"%{sampleNo}%") );
代码说明
- 针对每个可选参数,先判断参数是否为空:如果参数为空,该条件直接返回
true(相当于不启用这个筛选条件);如果参数不为空,则用EF.Functions.Like执行模糊匹配。 - 多个条件之间用
&&连接,确保只有同时满足所有非空参数的条件才会被筛选出来。
内容的提问来源于stack exchange,提问作者wolfman928
相关产品推荐
相关产品推荐

