我怎样才能结合BinaryExpression和Expression<Func<dynamic / T, bool>>?例如:void AddGlobalFilter<T>(Expression<Func<T, bool>> expr){ var parameter = Expression.Parameter(type, "t"); var member = Expression.Property(filter.Parameter, field); var constant = Expression.Constant(null); var body = Expression.Equal(member, constant); var combine = Expression.AndAlso(body, expr);}我正在尝试为实体框架 (EF) 核心定义全局过滤器。问题是我必须手动组合多个过滤器。ModelBuilder如果模型实现了IDbDeleted接口,则可以添加一个过滤器。另一个可以为特定模型手动添加。基本思想是我有一个所有表达式的列表,然后将它们组合起来:var expression = listExpressions.First();foreach (var second in listExpressions.Skip(1)){ expression = Expression.AndAlso(expression, second);}var lambdaExpression = Expression.Lambda(expression, parameter);modelBuilder.Entity(item.Key).HasQueryFilter(lambdaExpression);当然我得到错误(第一个来自Expression.Equal,第二个来自t => t...):过滤器表达式 't => t => (Not(t. ...
1 回答
- 1 回答
- 0 关注
- 362 浏览
添加回答
举报
0/150
提交
取消