public override object Map(DbDataReader dataReader, RowMapperContext context) { if (context.Instance == null) { context.Instance = context.PocoData.CreateObject(dataReader); if (context.Instance == null) { throw new Exception(string.Format("Cannot create POCO '{0}'. It may have no parameterless constructor or be an interface or abstract class without a Mapper factory.", context.Type.FullName)); } } else { _mappingOntoExistingInstance = true; } _mapPlan(dataReader, context.Instance); var result = context.Instance as IOnLoaded; if (result != null) { result.OnLoaded(); } return(context.Instance); }
public override object Map(DbDataReader dataReader, RowMapperContext context) { if (context.Instance == null) { context.Instance = context.PocoData.CreateObject(dataReader); if (context.Instance == null) throw new Exception(string.Format("Cannot create POCO '{0}'. It may have no parameterless constructor or be an interface or abstract class without a Mapper factory.", context.Type.FullName)); } else { _mappingOntoExistingInstance = true; } object[] values = new object[dataReader.FieldCount]; dataReader.GetValues(values); _mapPlan(dataReader, values, context.Instance); var result = context.Instance as IOnLoaded; if (result != null) { result.OnLoaded(); } return context.Instance; }
public override object Map(DbDataReader dataReader, RowMapperContext context) { if (dataReader.IsDBNull(0)) return null; return _converter(dataReader.GetValue(0)); }
public override object Map(DbDataReader dataReader, RowMapperContext context) { if (context.Instance == null) { context.Instance = context.PocoData.CreateObject(dataReader); if (context.Instance == null) { throw new Exception(string.Format("Cannot create POCO '{0}'. It may be an interface or abstract class without a Mapper factory.", context.Type.FullName)); } } else { _mappingOntoExistingInstance = true; } object[] values = new object[dataReader.FieldCount]; dataReader.GetValues(values); _mapPlan(dataReader, values, context.Instance); var result = context.Instance as IOnLoaded; if (result != null) { result.OnLoaded(); } return(context.Instance); }
public override object Map(DbDataReader dataReader, RowMapperContext context) { if (dataReader.IsDBNull(0)) { return(null); } return(_converter(dataReader.GetValue(0))); }
public override object Map(DbDataReader dataReader, RowMapperContext context) { var arrayType = context.Type.GetElementType(); var array = Array.CreateInstance(arrayType, _posNames.Length); for (int i = 0; i < _posNames.Length; i++) { if (!dataReader.IsDBNull(_posNames[i].Pos)) { array.SetValue(dataReader.GetValue(_posNames[i].Pos), i); } } return(array); }
public override object Map(DbDataReader dataReader, RowMapperContext context) { var arrayType = context.Type.GetElementType(); var array = Array.CreateInstance(arrayType, _posNames.Length); for (int i = 0; i < _posNames.Length; i++) { if (!dataReader.IsDBNull(_posNames[i].Pos)) { array.SetValue(dataReader.GetValue(_posNames[i].Pos), i); } } return array; }
public override object Map(DbDataReader dataReader, RowMapperContext context) { IDictionary <string, object> target = new Dictionary <string, object>(StringComparer.OrdinalIgnoreCase); if (context.Type == typeof(object)) { target = new PocoExpando(); } for (int i = 0; i < _posNames.Length; i++) { var converter = context.PocoData.Mapper.Find(x => x.GetFromDbConverter(typeof(object), dataReader.GetFieldType(_posNames[i].Pos))) ?? (x => x); target.Add(_posNames[i].Name, dataReader.IsDBNull(_posNames[i].Pos) ? null : converter(dataReader.GetValue(_posNames[i].Pos))); } return(target); }
public abstract object Map(DbDataReader dataReader, RowMapperContext context);
public abstract object Map(DbDataReader dataReader, RowMapperContext context);