public static bool Validate(this DataUpdateContextBase context, Metadata.IDataEntityProperty property, out object value)
 {
     return(Validate(context, DataAccessMethod.Update, property, out value));
 }
        public static bool Validate(this IDataMutateContextBase context, DataAccessMethod method, Metadata.IDataEntityProperty property, out object value)
        {
            if (context == null)
            {
                throw new ArgumentNullException(nameof(context));
            }

            var validator = context.Validator;

            if (validator != null)
            {
                switch (method)
                {
                case DataAccessMethod.Insert:
                    return(validator.OnInsert(context, property, out value));

                case DataAccessMethod.Update:
                    return(validator.OnUpdate(context, property, out value));
                }
            }

            value = null;
            return(false);
        }