private bool ByMemberName(out object result, string memberName) { var value = _getter(_item, memberName); result = DBNullHelper.FromDb(value); return(true); }
internal static T MapTo <T>(this IDataRecord record, SetterMap <T> setterMap) { var result = Activator.CreateInstance <T>(); foreach (var item in setterMap) { var val = DBNullHelper.FromDb(record.GetValue(item.FieldIndex)); var setter = item.Action; setter(result, val); } return(result); }
internal static T MapTo <T>(this IDataRecord record, DbConfig config) { var convention = config.MappingConvention; var setters = FastReflection.Instance.GetSettersForType <T>(); var result = Activator.CreateInstance <T>(); for (var i = 0; i < record.FieldCount; i++) { Action <T, object> setter; var columnName = convention.FromDb(record.GetName(i)); if (!setters.TryGetValue(columnName, out setter)) { continue; } var val = DBNullHelper.FromDb(record.GetValue(i)); setter(result, val); } return(result); }