我经历了
How can I easily convert DataReader to List<T>?
Scenrio:
我正在使用OdbcDataReader从数据库中检索.
我有一个模型类.仅供参考,此类的属性是数据库中列名的精确副本.我需要将这些列映射到属性并返回List
这可以使用Automapper完成.
解决方法
像这样的东西
- 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]");