The*_*der 5 c# asp.net-mvc automapper
我正在使用 anAutomapper
将一个模型映射到第二个模型,该模型具有与第一个模型同名的一些行。我收到了这个内部异常
缺少类型映射配置或不受支持的映射。
映射类型:床 -> 床 Model1.Bed -> Model2.Bed
这是代码的精简版本。
模型 1
public class Model1
{
public Guid Id { get; set; }
public string Name { get; set; }
public IEnumerable<Bed> Beds { get; set; }
public IEnumerable<Bed> Beds1 { get; set; }
public string Status {get; set;}
public string Notes {get; set;}
}
public class Model2
{
public Guid Id { get; set; }
public string Name { get; set; }
public IEnumerable<Bed> Beds { get; set; }
public IEnumerable<Bed> Beds1 { get; set; }
}
public class Bed
{
public Guid Id { get; set; }
public Guid TypeId { get; set; }
public string Type { get; set; }
public string Notes { get; set; }
public DateTime? CreatedOn { get; set; }
public DateTime? LastUpdatedOn { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
映射:
MapperConfiguration config = null;
config = new MapperConfiguration(cfg => { cfg.CreateMap<Model1, Model2>(); });
IMapper mapper = config.CreateMapper();
var dest = mapper.Map<Model1, Model2>(update);
Run Code Online (Sandbox Code Playgroud)
update 是 Model1 的一个实例。我错过了什么吗?即使两者都引用相同的方法,我是否应该对 Bed 类映射做些什么?在这种情况下,除了手动执行或使用 Automapper 之外,还有没有办法将数据从一个模型复制到另一个模型?
编辑 1:我确定错误来自该映射。我删除了它,所有其他字段都很好,也不例外。但我不确定我应该如何做床 -> 床绑定。
自动映射器似乎无法确定如何映射床。我会尝试以下操作:
config = new MapperConfiguration(cfg => {
cfg.CreateMap<Model1, Model2>();
cfg.CreateMap<Bed, Bed>();
});
Run Code Online (Sandbox Code Playgroud)
虽然这看起来很奇怪,但这是必要的......
归档时间: |
|
查看次数: |
14862 次 |
最近记录: |