自动映射器 - 将对象与集合映射

2024-01-18

使用自动映射器,我需要映射以下类的对象

public class RemoteClass
{
    public IEnumerable<RemoteDetails> collection{get; set;};

    public int RemoteFieldA{get; set;}

    public int RemoteFieldB{get; set;}      
}


public class LocalClass
{
    public IEnumerable<LocalDetails> collection{get; set;};

    public int LocalFieldA{get; set;}

    public int LocalFieldB{get; set;}       
}

我的配置和映射应该是什么?


只需定义之间的映射RemoteDetails and LocalDetails。 AutoMapper 足够聪明,可以处理他知道如何映射的类型集合。假设这两个类有字段 C:

Mapper.CreateMap<RemoteDetails, LocalDetails>()
      .ForMember(ld => ld.LocalFieldC, opt => opt.MapFrom(rd => rd.RemoteFieldC));

Mapper.CreateMap<RemoteClass, LocalClass>()
      .ForMember(lc => lc.LocalFieldA, opt => opt.MapFrom(rc => rc.RemoteFieldA))
      .ForMember(lc => lc.LocalFieldB, opt => opt.MapFrom(rc => rc.RemoteFieldB));

通过这些映射,您可以从 RemoteClass 映射到 LocalClass:

RemoteClass remote = new RemoteClass {
    RemoteFieldA = 42,
    RemoteFieldB = 100,
    collection = new [] { 
        new RemoteDetails { RemoteFieldC = "Foo" },
        new RemoteDetails { RemoteFieldC = "Bar" }
    }
};

var local = Mapper.Map<LocalClass>(remote);

Result:

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

自动映射器 - 将对象与集合映射 的相关文章

  • 当其源是 https uri 时如何使 wpf MediaElement 播放

    在 wpf 独立应用程序 exe 中 我在主窗口中包含了 MediaElement
  • 使用 Xamarin.Forms 和 Zxing 生成 QR 码

    我在网上看到了很多关于这个的内容 旧帖子 但似乎没有什么对我有用 我正在尝试从字符串中生成二维码并将其显示在应用程序中 这就是我一开始的情况 qrCode new ZXingBarcodeImageView BarcodeFormat Ba
  • OpenGL缓冲区更新[重复]

    这个问题在这里已经有答案了 目前我正在编写一个模拟水的程序 以下是我所做的步骤 创建水面 平面 创建VAO 创建顶点缓冲区对象 在其中存储法线和顶点 将指针绑定到此 VBO 创建索引缓冲区对象 然后我使用 glDrawElements 渲染
  • 如何调整 Windows 窗体以适应任何屏幕分辨率?

    我知道这是重复的问题 但我检查了所有其他相关问题 他们的答案没有帮助 结果仍然与屏幕截图 2 中所示相同 我是 C Windows 窗体新手 如截图1所示 我有Form1有一些控件 每组控件都放在一个面板中 我在 PC1 中设计了应用程序
  • 在 Mac OS X 上安装 libxml2 时出现问题

    我正在尝试在我的 Mac 操作系统 10 6 4 上安装 libxml2 我实际上正在尝试在 Python 中运行 Scrapy 脚本 这需要我安装 Twisted Zope 现在还需要安装 libxml2 我已经下载了最新版本 2 7 7
  • MSMQ接收和删除

    是否有任何选项可以在读取消息后将其从 MSMQ 中删除 比如 接收 删除可以作为原子操作运行吗 听起来您想查看下一条消息 然后在处理完成后接收它 Message message Queue Peek Queue ReceiveById me
  • 以下 PLINQ 代码没有改进

    我没有看到使用以下代码的处理速度有任何改进 IEnumerable
  • 从时间列表中查找最接近的时间

    所以 这是场景 我有一个带有创建时间的文件 我想从该文件的创建时间最接近或相等的时间列表中选择一个时间 完成此操作的最佳方法是什么 var closestTime listOfTimes OrderBy t gt Math Abs t fi
  • make_shared<>() 中的 WKWYL 优化是否会给某些多线程应用程序带来惩罚?

    前几天我偶然看到这个非常有趣的演示 http channel9 msdn com Events GoingNative GoingNative 2012 STL11 Magic Secrets作者 Stephan T Lavavej 其中提
  • 关闭整数的最右边设置位

    我只需要关闭最右边的设置位即可 我的方法是找到最右边位的位置 然后离开该位 我编写这段代码是为了这样做 int POS int n int p 0 while n if n 2 0 p else break n n 2 return p i
  • 提升mapped_file_source、对齐方式和页面大小

    我正在尝试在性能很重要的上下文中解析一些大小高达几百兆字节的文本文件 因此我使用 boostmapped file source 解析器期望源以空字节终止 因此我想检查文件大小是否是页面大小的精确倍数 如果是 则使用较慢的非内存映射方法 我
  • 检测 TextBox 中的 Tab 键按下

    I am trying to detect the Tab key press in a TextBox I know that the Tab key does not trigger the KeyDown KeyUp or the K
  • 无法获取本地或参数的值,因为它在此指令指针处不可用,可能是因为它已被优化掉

    Visual Studio 2010 会删除 没有其他词 不安全块中函数参数之一中的数据 什么可能导致此错误 调试器显示以下消息 Cannot obtain value of local or argument as it is not a
  • “没有合适的默认构造函数可用”——为什么会调用默认构造函数?

    我已经查看了与此相关的其他一些问题 但我不明白为什么在我的情况下甚至应该调用默认构造函数 我可以只提供一个默认构造函数 但我想了解它为什么这样做以及它会产生什么影响 error C2512 CubeGeometry no appropria
  • 如何设置消息队列的所有者?

    System Messaging MessageQueue 类不提供设置队列所有权的方法 如何以编程方式设置 MSMQ 消息队列的所有者 简短的答案是 p invoke 对 windows api 函数的调用MQSetQueueSecuri
  • 如何在新窗口中打开图像或pdf文件?

    我有一个 gridview 它包含文件名和文件路径 图像和 pdf 格式文件 其中我使用了模板字段 在该字段下放置了 1 个图像按钮 单击该图像按钮 即 查看 按钮 时 我想在新窗口中打开所选文件 这是我的代码 protected void
  • 在 mvc4 中创建通用 mvc 视图

    我以前也提过类似的问题 没有得到答案 如何创建一个通用的 mvc4 视图 该视图可以显示传递给它的模型列表或单个模型 模型可以是个人 组织或团体 无论传递给它的是什么 如果您正在寻找类似的东西 model MyViewModel
  • 时间:2019-03-17 标签:c#TimerStopConfusion

    我想通过单击按钮时更改文本颜色来将文本框文本设置为 闪烁 我可以让文本按照我想要的方式闪烁 但我希望它在闪烁几次后停止 我不知道如何在计时器触发几次后让它停止 这是我的代码 public Form1 InitializeComponent
  • 解释这段代码的工作原理;子进程如何返回值以及在哪里返回值?

    我不明白子进程如何返回该值以及返回给谁 输出为 6 7 问题来源 http www cs utexas edu mwalfish classes s11 cs372h hw sol1 html http www cs utexas edu
  • MSVC编译器下使用最大成员初始化联合

    我正在尝试初始化一个LARGE INTEGER在 C 库中为 0 确切地说是 C 03 以前 初始化是 static LARGE INTEGER freq 0 在 MinGW 下它产生了一个警告 缺少成员 LARGE INTEGER Hig

随机推荐

  • 在asp.net应用程序上显示sql数据库中存储的UTC时间的本地时间

    我已经将时间以 utc 格式保存在 SQL 数据库中 我在网格视图上显示这些时间 但它们仍然是 UTC 格式 我想将它们转换为客户端浏览器的本地时间 问题是 虽然我可以获得仅适用于当前日期 时间的时区偏移量 如果未来的某些日期最终发生在夏令
  • 如何在 Angular 2 最终版本中编写 HTTP 模拟单元测试?

    我已从 RC4 迁移到最终版本 2 1 0 并且正在重构我的单元测试以符合 2 1 0 语法 除了 HTTP 模拟之外 这很容易 我找不到任何关于如何在 2 1 0 中模拟 HTTP 请求的示例 这是一个 RC4 HTTP 单元测试 我将如
  • 使用 msbuild 从网站部署中排除文件

    我有一个使用 msbuild 部署的网站项目 在项目中 有一些构建所需的文件和文件夹 例如 web config 部分替换文件 但我不想将其部署到目标站点 我能想到的最好的办法是删除这些文件的构建后目标 但我想知道是否有办法让这些文件不复制
  • 由于占用率低而导致 GPU 利用率不足是什么意思?

    我正在使用 NUMBA 和 cupy 来执行 GPU 编码 现在我已将代码从 V100 NVIDIA 卡切换到 A100 但是随后我收到以下警告 NumbaPerformanceWarning 网格大小 27 NumbaPerformanc
  • VSCode Flutter Dart 慢的建议

    我使用 Visual Studio Code 进行 flutter 编程 并且没有使用很多扩展 我喜欢代码补全 但通常太慢 显示所有建议大约需要 1 2 秒 这个问题有什么解决办法吗 这是我已安装的扩展的列表 我被告知要添加此配置 dart
  • 什么是 WCF 服务参考 .datasource 文件?

    Visual Studio 中 创建服务引用 自动生成的 datasource 文件是什么 文件中的注释是这样的 该文件是自动生成的 由 Visual Studio Net 提供 这是 用于存储通用对象数据源配置信息 重命名文件扩展名或编辑
  • FormData 键作为数组

    我正在尝试使用 FormData html5 api 设置多个文件上传 问题是我无法删除 FormData 键上的数组索引 前任 if editor frmData editor frmData append upload files 0
  • IntelliJ Idea Android 项目包括 apk 中不受监管的文件

    我有一个复杂的应用程序结构 主项目有 android 库 它们有自己的 android 库和 jar 主要工程 Libs Android Lib project A Jars Android Lib项目B Jars 为了澄清起见 我有一个
  • 如何在 Sphinx 文档中显示类的继承成员?

    我想记录一些类 这些类都派生自具有一些公共属性的同一基类 并且我想重复子类中每个属性的文档 以便我可以在一个位置看到一个类的所有属性 例如我有这样的代码 class Base object Base class First attribut
  • 构建 .NET Core 控制台应用程序以输出 EXE

    对于面向 NET Core 1 0 的控制台应用程序项目 我无法弄清楚如何在构建期间输出 exe 该项目在调试中运行良好 我尝试过发布该项目 但这也不起作用 这是有道理的 因为 EXE 文件是特定于平台的 但必须有一种方法 我的搜索仅找到对
  • 如何检查设备是否需要 SafeArea? (需要底部/顶部填充)

    有没有一种方法可以检查运行该应用程序的设备是否需要 SafeArea 我需要根据这个 true 或 false 值运行代码 我不需要使用 SafeArea 小部件 如果设备需要填充 我所需要的只是正确或错误的答案 例如 像iPhone 8这
  • CMake:为每个项目设置编译选项和编译功能

    我有一个代码库 例如 存储库 其中包含多个软件组件 可执行文件 库 所有内容都是使用 CMake 构建的 每个组件都有单独的目标 现在 我知道设置编译器标志的现代方法是特定于目标的 target compile options foo PR
  • 什么是金融运作中的锁定、僵局问题?

    盘问SQL 什么时候应该使用 with nolock https stackoverflow com questions 686724 sql when should you use with nolock 在一家当地的金融机构 我因为向他
  • 记录清单

    以下代码似乎向列表中添加了一条新记录 但会用最后创建的记录覆盖所有记录 我可以让它正常工作 lpr Add new personRecord Age pr Age Name pr Name 但这似乎更冗长 并且在真正的应用程序中记录要大得多
  • 使用 Springfox 在 Spring 应用程序中记录 jax-rs 服务

    我想使用 Springfox 记录现有应用程序的 API 我将这些依赖项添加到 pom xml 中
  • 反编译的Jar文件的类路径

    所以我不是计算机科学专业或任何其他专业 我只是在研究一些东西来练习我从视频中观看的一些 Java 技能 我知道这不是主要的方法 但请让我这样做 所以我提取了一个 jar 文件 http www zenlunatics com quizcar
  • C# Linq 与柯里化

    我正在玩一点函数式编程及其各种概念 所有这些东西都很有趣 我曾多次阅读过有关柯里化的内容以及它的优势 但我不明白这一点 以下源代码演示了柯里化概念的使用以及 linq 的解决方案 实际上 我没有看到使用柯里化概念的任何优点 那么 使用柯里化
  • 在 C# 中将结构体指针作为参数传递

    我有一个 C 函数 已导出到 DLL I 包含一个结构体指针作为参数之一 我需要在 C 中使用此函数 因此我使用 DLLImport 作为该函数 并使用 StructLayout 在 C 中重新创建了该结构 我尝试使用 ref 传入参数 并
  • Prisma2:如何用 Paljs 解决 n+1 问题

    感谢您的帮助 我在前端使用阿波罗客户端 在后端使用graphql nexus https nexusjs org docs prisma2 和 graphql yoga 服务器 我想用 paljs plugins 解决n 1 问题 在前端我
  • 自动映射器 - 将对象与集合映射

    使用自动映射器 我需要映射以下类的对象 public class RemoteClass public IEnumerable