如何在 Automapper 中使用数据集?

2024-04-17

我目前使用数据读取器作为源,但我想改用数据集。

//datareader

AutoMapper.Mapper.CreateMap<IDataReader, AccountDTO>()
             .ForMember(m => m.AccountId, opt => opt.MapFrom (r => r.GetInt32(r.GetOrdinal("AccountId"))))
             .ForMember(m => m.ParentAccountId, opt => opt.MapFrom(r => r.GetInt32(r.GetOrdinal("ParentAccountId"))))
             .ForMember(m => m.IsInactive, opt => opt.MapFrom(r => r.GetString(r.GetOrdinal("IsInactive"))))
             .ForMember(m => m.AccountName, opt => opt.MapFrom(r => r.GetString(r.GetOrdinal("AccountName"))))


//dataset

 AutoMapper.Mapper.CreateMap<DataSet, AccountDTO>()
                 .ForMember(m => m.AccountId, opt => opt.MapFrom(r => r.Tables[0].Columns[Constants.MappingFields.Accounts.AccountId]))
                 .ForMember(m => m.ParentAccountId, opt => opt.MapFrom(r => r.Tables[0].Columns[Constants.MappingFields.Accounts.ParentAccountId]))
                 .ForMember(m => m.IsInactive, opt => opt.MapFrom(r => r.Tables[0].Columns[Constants.MappingFields.Accounts.IsInactive]))
                 .ForMember(m => m.AccountName, opt => opt.MapFrom(r => r.Tables[0].Columns[Constants.MappingFields.Accounts.AccountName]))
                 .ForMember(m => m.AccountNumber, opt => opt.MapFrom(r => r.Tables[0].Columns[Constants.MappingFields.Accounts.AccountNumber]))

有任何想法吗?


我想使用数据集而不是数据读取器,因此我不保持与数据库的连接打开。

我想我已经找到了解决办法;

  1. 创建数据集并关闭/处置连接
  2. 从数据表创建一个 datatablereader 并传入

这似乎有效。

 DataTableReader dataTableReader = ds.Tables[0].CreateDataReader();
                conn101.Close();
                conn101.Dispose();


                List<AccountDTO> accountDto1s = Mapper.Map<IDataReader, List<AccountDTO>>(dataTableReader);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Automapper 中使用数据集? 的相关文章

  • 根据列名列表将数据表拆分为多个数据表

    我有一个如下所示的数据表 ID Country Supplier 515 DE A 515 CH A 515 FR A 516 DE B 516 FR B 517 DE C 517 IT C 我有一个List
  • automapper,映射到接口

    我正在使用 automapper 适用于 net 3 5 这是一个例子来说明我正在尝试做的事情 我想将 A 对象映射到 B 对象 类定义 class A public I1 MyI get set class B public I2 MyI
  • Automapper:手动映射属性

    我刚刚开始使用 automapper 来映射 DTO实体 它似乎工作得很好 在某些特殊情况下 我只想映射某些属性并执行额外的检查 如果没有自动映射器 代码如下所示 使用fasterflect的PropertyExtensions objec
  • Automapper v5 忽略未映射的属性

    以前 当我使用 Automapper v3 x 时 只需添加一个即可忽略未映射的属性 IgnoreUnmappedProperties 扩展看起来像这样 public static class AutoMapperExtensions pu
  • torch数据集的结构是怎样的?

    我开始使用 torch 7 我想制作我的数据集进行分类 我已经制作了像素图像和相应的标签 但是 我不知道如何将这些数据提供给火炬 我阅读了其他人的一些代码 发现他们使用的是扩展名为 t7 的数据集 我认为它是张量类型 这样对吗 我想知道如何
  • 注入自动映射器

    我一直致力于将 AutoMapper 注入控制器 我喜欢 Code Camp Server 的实现 它围绕 AutoMapper 的 IMappingEngine 创建一个包装器 依赖注入是使用 StructureMap 完成的 但我需要在
  • 批处理、重复和洗牌对 TensorFlow 数据集有什么作用?

    我目前正在学习 TensorFlow 但我在下面的代码片段中遇到了困惑 dataset dataset shuffle buffer size 10 batch size dataset dataset repeat num epochs
  • 来自同一数据集的多个 ComboBox 控件

    我在 Windows 窗体上有 2 个 DropDownList 组合框 它们都从同一数据集 人员列表 填充 但它们具有不同的用途 项目经理 审阅者 如果我将它们的数据源都设置为数据集 它们都会绑定到数据集并同时更改 我是否遗漏了某些内容
  • AutoMapper:如何从字符串中解析 Int 并可以根据数据类型创建规则?

    我的表单有两个模型 一个是指向它的 ViewModel 另一个是来自它的 ControlModel ControlModel 具有所有相同的字段名称和层次结构 但所有字段都是字符串数据类型 如何编写 AutoMapper 代码以将字符串字段
  • 属性名称不同时如何指定映射规则

    我是 Automapper 框架的新手 我有一个域类和一个 DTO 类 如下所示 public class Employee public long Id get set public string Name get set public
  • 自动映射器表达式必须解析为顶级成员

    我正在使用自动映射器来映射源对象和目标对象 当我映射它们时 我收到以下错误 表达式必须解析为顶级成员 参数名称 lambda表达式 我无法解决这个问题 我的源对象和目标对象是 public partial class Source priv
  • 使用 Autofac 注入接口的特定实例

    我有一个控制器 它接收接口的特定实例 界面看起来像这样 public interface IMyInterface implementation goes here 然后我有一些类实现这个接口 如下所示 public class MyCla
  • 如何将 dplyr 中的动态列名称传递到自定义函数中?

    我有一个具有以下结构的数据集 Classes tbl df and data frame 10 obs of 7 variables GdeName chr Aeugst am Albis Aeugst am Albis Aeugst am
  • 实体框架、AutoMapper、处理实体更新

    我最近才开始使用Entity Framework 1 0 相信我已经开始感受到大家都在谈论的痛苦了 我正在尝试使用最佳实践 因此我有一组 DTO 可以通过 AutoMapper 映射到我的实体或从我的实体映射 真正的问题是当我尝试更新对象时
  • 市政数据集? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 我正在寻找一些数据来创建查找表 具体来说 美国每个州的所有县以及每个县的所有城市 我在哪里可以找到这样的市政数据集 编辑 我正在查看 census g
  • 自动映射器 UseDestinationValue

    映射时遇到问题 VPerson vPerson new VPerson Id 2 Lastname Hansen1 Name Morten1 DPerson dPerson new DPerson Id 1 Lastname Hansen
  • 如何使用 Microsoft.Office.Interop.Excel 从 Excel 导入数据集?

    我想做的事 我正在尝试使用Microsoft Office Interop Excel名称空间 http msdn microsoft com en us library microsoft office interop excel 28v
  • 根据条件过滤数据集

    我正在使用 asp net 2 0 和 c 我有一个数据集 正在获取员工信息 现在我想根据用户在搜索文本框中输入的名称来过滤网格视图 我正在这样做 DataSet ds new DataSet EmployeeInformation loa
  • 将 SQL 读取到 DataSet 到 XmlDocument

    下面的代码工作起来很梦幻 但它能变得更紧凑 更接近 C 风格吗 尤其是我对两个问题有怀疑 是不是很丑 老C式 填充fill通过将变量用作参数内 代码可以变得更紧凑而不是通过String C String connectionString s
  • Automapper Nuget 包失败

    我尝试安装http automapper org http automapper org 但这导致了错误 Install Package AutoMapper already has a dependency defined for Mic

随机推荐