예제 #1
0
        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);
        }
예제 #2
0
        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);
        }