我有以下類AutoMapper未能上雙
public class EstimationDTO
{
public EstimationDTO() { }
public EstimationDTO(double best, double mostLikely, double worst)
{
this.BestEffort = best;
this.MostLikelyEffort = mostLikely;
this.WorstEffort = worst;
}
public double BestEffort { get; set; }
public double MostLikelyEffort { get; set; }
public double WorstEffort { get; set; }
}
public class Estimation
{
public Estimation() { }
public Estimation(double best, double mostLikely, double worst)
{
this.BestEffort = best;
this.MostLikelyEffort = mostLikely;
this.WorstEffort = worst;
}
public double BestEffort { get; set; }
public double MostLikelyEffort { get; set; }
public double WorstEffort { get; set; }
}
而且我有以下AutoMapper配置
Mapper.CreateMap<EstimationDTO, Estimation>();
Mapper.CreateMap<Estimation, EstimationDTO>();
當我嘗試兩個,即
var x = Mapper.Map<EstimationDTO>(new Estimation{ BestEffort = 0.1, MostLikelyEffort = 0.2, WorstEffort = 0.3 });
之間的轉換automapper會引發以下錯誤:
AutoMapper.AutoMapperMappingException: Missing type map configuration or unsupported mapping.
Mapping types:
Estimation -> Double
(注意,如果我嘗試反向轉換,它會引發同樣的錯誤)。
我試圖做顯式映射的屬性,但是這並沒有解決問題。
如果我指定的雙轉換
Mapper.CreateMap<EstimationDTO, double>();
Mapper.CreateMap<Estimation, double>();
它的工作原理和正常兩種類型之間的轉換。
我該如何爲類指定這個特定的轉換?
@DavidL我只是將相關的代碼複製到一個新的項目中,測試並得到了錯誤。我想我發現了一些與這個問題有關的問題 - 這兩個對象有定義的構造函數。我已經用構造函數更新了這個問題。 –
這是缺少的鏈接:)。我已經爲你添加了一個答案。 –