示例#1
0
        public AuditConfig IgnoreProperty(Expression <Func <PropertyEntry, bool> > lambda)
        {
            var func = lambda.Compile();

            PropertyFilters.Add((entity, property) => func(property));
            return(this);
        }
示例#2
0
        public AuditConfig IgnoreProperty <Entity>(Expression <Func <Entity, object> > lambda)
        {
            var body = lambda.Body as MemberExpression;

            if (body == null)
            {
                UnaryExpression ubody = (UnaryExpression)lambda.Body;
                body = ubody.Operand as MemberExpression;
            }

            var propertyName = body.Member.Name;

            PropertyFilters.Add((entity, property) =>
                                entity.Metadata.GetTableName() == typeof(Entity).Name && property.Metadata.GetColumnName() == propertyName
                                );
            return(this);
        }
 /// <summary>
 /// Add a filter to identify properties that should be traversed.
 /// </summary>
 /// <param name="filter">A filter for a <see cref="PropertyInfo"/>.</param>
 /// <returns>The current <see cref="ValidatorBuilder{TState}"/>.</returns>
 public ValidatorBuilder <TState> AddPropertyFilter(Func <PropertyInfo, bool> filter)
 {
     PropertyFilters.Add(filter);
     return(this);
 }
示例#4
0
 public ILogFilter <T> Ignore(Expression <Func <T, object> > func)
 {
     PropertyFilters.Add(func);
     return(this);
 }
示例#5
0
 public AuditConfig IgnoreProperty(string tableName, string propertyName)
 {
     PropertyFilters.Add((entity, property) => entity.Metadata.GetTableName() == tableName && property.Metadata.GetColumnName() == propertyName);
     return(this);
 }