我经历了How can I easily convert DataReader to List<T>?
我想在上面的链接中实现类似于答案的内容。
Scenrio:
我正在使用OdbcDataReader从数据库中检索。
我有一个模型类。仅供参考,此类的属性是数据库中列名的精确副本。我需要将这些列映射到属性并返回List 这可以使用Automapper完成。
答案 0 :(得分:9)
像这样的东西
public List<T> ReadData<T>(string queryString)
{
using (var connection = new SqlConnection(constr))
using (var command = new SqlCommand(queryString, connection))
{
connection.Open();
using (var reader = command.ExecuteReader())
if (reader.HasRows)
return Mapper.DynamicMap<IDataReader, List<T>>(reader);
}
return null;
}
定义你的班级
public class MarkType
{
public int id { get; set; }
public string name { get; set; }
public DateTime inserted { get; set; }
}
使用
List<MarkType> lst = _helper.ReadData<MarkType>("SELECT [id],[name],[inserted] FROM [marktype]");