2014-02-26 15 views
1

我有以下類的兩個集合,我要地圖:Automapper未能轉化泛型列表

方法1:

public class Client_Crime_ViewModel 
    { 
     public Client_Crime_ViewModel() { } 

     public Client_Crime_ViewModel(CrimeIncident ci) 
     { 
      Id = ci.Id; 
      CaseNumber = ci.CaseNumber; 
      DateOfIncident = ci.DateOfIncident; 
      Description = ci.Description; 
     } 

     public Int64 Id 
     { 
      get; 
      set; 
     } 

     [Required] 
     [DisplayName("Case Number")] 
     public string CaseNumber { get; set; } 

     [DataType(DataType.Date)] 
     [Required] 
     [DisplayName("Date of Incident")] 
     public string DateOfIncident { get; set; } 

     [DataType(DataType.MultilineText)] 
     [Required] 
     public string Description { get; set; } 
    } 



public class CrimeIncident 
    { 
     public Int64 Id { get; set; } 

     [Required] 
     public string CaseNumber { get; set; } 

     [Required] 
     public string Description { get; set; } 

     [DataType(DataType.Date)] 
     public string DateOfIncident { get; set; } 

     public CrimeIncident() { } 

     public CrimeIncident(string caseNumber, string dateOfIncident, string description) 
     { 
      CaseNumber = caseNumber; 
      Description = description; 
      DateOfIncident = dateOfIncident; 
     } 
    } 

我在以下兩個方面試圖映射

Mapper.CreateMap<List<Client_Crime_ViewModel>, List<CrimeIncident>>(); 
List<Client_Crime_ViewModel> cvmList = System.Web.Helpers.Json.Decode<System.Collections.Generic.List<Client_Crime_ViewModel>>(rb.Form["CrimeCollection"]); 
List<CrimeIncident> ciList = Mapper.Map<List<Client_Crime_ViewModel>, List<CrimeIncident>>(cvmList); 

方法2:

Mapper.CreateMap<List<Client_Crime_ViewModel>, List<CrimeIncident>>(); 
List<Client_Crime_ViewModel> cvmList = System.Web.Helpers.Json.Decode<System.Collections.Generic.List<Client_Crime_ViewModel>>(rb.Form["CrimeCollection"]); 
List<CrimeIncident> ciList = Mapper.Map<List<CrimeIncident>>(cvmList); 

兩種方法均失敗。調試表明雖然cvmList的元素數爲> 0,但ciList的元素數保持在0

任何想法我做錯了什麼? 在此先感謝。

回答

4

您不需要爲列表創建映射,只需映射實體即可。

+2

+1。這是我在使用Automapper時發現自己幫助其他開發人員的第一件事。 –

+0

在發佈問題後約30秒,我想到了這一點。謝謝。今天才開始使用toolt ...所以是的...如果你問我,他們可能會舉一個如何在他們的welcome/homepage上映射列表的例子。 –