【发布时间】:2014-08-26 20:41:00
【问题描述】:
假设我已注册 DTO(实现 IBaseDto)以映射到实体(实现 IUpdateEntity)
现在,当我有一个通用 TEntity (currentItem) 时,我想找到它映射到的正确 DTO 类型。 我有以下代码:
var mappings = Mapper.GetAllTypeMaps();
var typeMap = mappings.FirstOrDefault(m => m.DestinationType == typeof (TEntity) && m.SourceType == typeof(BaseDto));
if (typeMap != null)
{
var sourceType = typeMap.SourceType;
var dto = currentItem.Map().To<sourceType>(); //map the entity to it's DTO
var request = new SaveServiceRequest<sourceType> { Entity = currentItem }; // create a SaveServiceRequest
SaveItem(request); //save the DTO
}
现在我遇到的问题是我尝试将 currentItem 映射到 DTO。 VS/Resharper 说它无法解析符号“sourceType”。 我在这里错过了什么?
【问题讨论】:
标签: c# automapper