加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 将AutoMapper与数据读取器配合使用

发布时间:2020-12-15 04:17:06 所属栏目:百科 来源:网络整理
导读:我经历了 How can I easily convert DataReader to ListT? 我希望在上面的链接中实现类似于接受的内容. Scenrio: 我正在使用OdbcDataReader从数据库中检索. 我有一个模型类.仅供参考,此类的属性是数据库中列名的精确副本.我需要将这些列映射到属性并返回Lis
我经历了 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]");

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读