public static List <T> ToPrimitiveList <T>(this IDataReader reader) { var list = new List <T>(); while (reader.Read()) { var value = reader[0]; if (value == DBNull.Value) { value = DefaultValues.GetDefault <T>(); } list.Add((T)value); } return(list); }
public T CreateFrom(IDataReader reader) { var result = new T(); foreach (var property in Properties) { var value = reader[property.Key]; if (value == DBNull.Value) { value = DefaultValues.GetDefault <T>(); } property.Value.SetValue(result, value, null); } return(result); }