我有要映射的类,但它们没有默认构造函数,我不希望它们拥有。这是因为我只映射到/从已经存在的对象。
public class Order
{
public string OrderName { get; set; }
public Order(string name)
{
this.OrderName = name;
}
}
public class OrderProcessor
{
private IService service;
public string OrderName { get; set; }
public OrderProcessor(IService service)
{
this.service = service;
Mapper.Initialize(config => config.CreateMap<Order, OrderProcessor>());
}
public void Init()
{
var order = this.service.GetOrder();
// this works
Mapper.Map(order, this);
// this fails
Mapper.Configuration.AssertConfigurationIsValid();
}
}
AutoMapper.AutoMapperConfigurationException :找到未映射的成员。查看下面的类型和成员。添加自定义映射表达式、忽略、添加自定义解析器或修改源/目标类型对于没有匹配的构造函数,添加无参数 ctor、添加可选参数或映射所有构造函数参数
Order -> OrderProcessor(目标成员列表)
没有可用的构造函数。
在 Tests.cs:line 中的 Test()
当我不想创建新对象时,如何使配置断言通过以及为什么它会失败?