c# - 如何在构造函数中使用 AutoMapper 映射到 "this"

标签 c# automapper automapper-2 automapper-3

我有一个具有属性的源类型和一个具有完全相同属性的目标类型。

在我为 AutoMapper 配置一个简单的映射之后:

Mapper.CreateMap<MySourceType, MyDestinationType>();

我想要一个 MyDestinationType 的构造函数,它有一个 MySourceType 参数,然后像这样使用源自动初始化正在创建的类型的属性:

public MyDestinationType(MySourceType source)
{
    // Now here I am do not know what to write.
}

我找到的唯一解决方法是为

创建一个静态工厂方法
public static MyDestinationType Create(MySourceType source)
{
     return Mapper.Map<MyDestinationType>(source);
}

有什么办法可以避免这种静态的丑陋现象吗?

最佳答案

虽然我个人觉得很丑,但是你可以做的是:

public MyDestinationType(MySourceType source)
{
    Mapper.Map<MySourceType, MyDestinationType>(source, this);
}

关于c# - 如何在构造函数中使用 AutoMapper 映射到 "this",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29825162/

相关文章:

c# - 如何将联接表传递给 MVC 中的 View ?

c# - 在 PowerShell 中迭代多行数据

automapper - 自动映射器将数组属性设置为零长度数组,而不是null

c# - 如何告诉 Automapper 检查所有源属性是否都有目标属性

C# 部署 - 单个可执行文件,一键安装?

c# - 如何为所有页面设置 Async ="true"?

entity-framework - 使用 Automapper 实现多对多到 DTO

c# - Automapper - 如何从源子对象映射到目标

c# - AutoMapper 使用错误的构造函数

c# - 使用 AutoMapper 将对象的属性映射到字符串