Esempio n. 1
0
        public ActionParams Update(IClassMapper classMap, object entity)
        {
            var predicate         = classMap.GetKeyPredicate(entity);
            var parameters        = new Dictionary <string, object>();
            var sql               = SqlGenerator.Update(classMap, predicate, parameters);
            var dynamicParameters = new DynamicParameters();

            var columns = classMap.GetMutableColumns();

            foreach (var property in ReflectionHelper.GetObjectValues(entity)
                     .Where(property => columns.Any(c => c.Name == property.Key)))
            {
                dynamicParameters.Add(property.Key, property.Value);
            }

            foreach (var parameter in parameters)
            {
                dynamicParameters.Add(parameter.Key, parameter.Value);
            }

            return(ActionParams.New(sql, dynamicParameters));
        }