public List<T> ToList<T>(DbDataReader dr) where T : class, new()
{
var result = new List<T>();
var properties = typeof(T).GetProperties().ToList();
while (dr.Read())
{
var obj = new T();
foreach (var property in properties)
{
try
{
//Oracle字段为大写
var id = dr.GetOrdinal(property.Name.ToUpper());
if (!dr.IsDBNull(id))
{
if (dr.GetValue(id) != DBNull.Value)
{
property.SetValue(obj, dr.GetValue(id));
}
}
}
catch
{
}
}
result.Add(obj);
}
return result;
}