【发布时间】:2018-06-22 16:02:34
【问题描述】:
当用户是管理员时,我想将数据库中的 isDeleted 值包含到我的索引中。我使用全局查询过滤器来过滤数据。
这是我的代码:
var param = Expression.Parameter(entity.ClrType);
var propertyMethodInfo = typeof(EF).GetMethod("Property").MakeGenericMethod(typeof(bool));
var isDeleted = Expression.Call(propertyMethodInfo, param, Expression.Constant("IsDeleted"));
BinaryExpression compareExpression = Expression.MakeBinary(ExpressionType.Equal, isDeleted, Expression.Constant(false));
var lambdaExpression = Expression.Lambda(compareExpression, param);
builder.Entity(entity.ClrType).HasQueryFilter(lambdaExpression);
【问题讨论】:
-
你问的是如何忽略特定用户的过滤器?
-
@IvanStoev 是的。如果用户是管理员,过滤器不应该工作
-
HI darwin,您对已删除帖子的回答是 $a=array(array(array(5,4,3),array(1,2,3)),array(array(20,30 ,40),数组(50,60,70))); foreach($a as $key=>$val){ foreach($val as $key1=>$val1){ echo "".$key." ".$key1." ".(array_sum($val1)). "
"; } }
标签: c# lambda entity-framework-core