传参List<PressureSoresVo> pressureSoresList用动态foreach怎么查询
时间: 2024-02-24 15:55:23 浏览: 13
假设你有一个 `PressureSoresVo` 类,其中包含了你想要查询的字段,你可以使用动态 `foreach` 查询来实现,示例如下:
```csharp
var query = dbContext.Set<PressureSoresVo>().AsQueryable();
foreach (var filter in filters)
{
if (!string.IsNullOrEmpty(filter.PropertyName))
{
var param = Expression.Parameter(typeof(PressureSoresVo), "p");
var property = Expression.Property(param, filter.PropertyName);
var filterExpression = Expression.Constant(filter.Value);
var body = Expression.Equal(property, filterExpression);
var lambda = Expression.Lambda<Func<PressureSoresVo, bool>>(body, param);
query = query.Where(lambda);
}
}
var result = query.ToList();
```
其中 `filters` 是一个 `List`,包含了你要查询的条件,每个条件包含了属性名称和对应的值。在 `foreach` 循环中,我们先通过反射获取属性,然后使用 `Expression` 构造出查询表达式,最终使用 `Lambda` 构造出一个查询条件。在循环结束后,我们使用 `query.ToList()` 执行查询并返回对应结果。