簡體   English   中英

AutoMapper一對多和視圖模型

[英]AutoMapper one-to-many and View Models

我收到以下錯誤:

找到未映射的成員。 在下面查看類型和成員。 添加自定義映射表達式,忽略,添加自定義解析器或修改源/目標類型。 對於沒有匹配的構造函數,請添加一個無參數ctor,添加可選參數,或映射所有構造函數參數

================================================== ======================

List1-> PSS_MembersViewModel(目標成員列表)System.Collections.Generic.List`1 [[PRS.Domain.Entities.PSS_Members,PRS.Domain,Version = 1.0.0.0,Culture = neutral,PublicKeyToken = null]]-> PRS_MD .ViewModels.PSS_MembersViewModel(目標成員列表)

未映射的屬性:ID Full_Name Mobile Mobile2電子郵件PSS_Team_ID PSS_Teams PSS_Trip_Members有效

我的實體:

public class PSS_Members : Entity
{
    public PSS_Members()
    {
        PSS_Trip_Members = new HashSet<PSS_Trip_Members>();
    }

    [StringLength(100)]
    public string Full_Name { get; set; }
    [StringLength(50)]
    public string Mobile { get; set; }
    [StringLength(50)]
    public string Mobile2 { get; set; }
    [StringLength(100)]
    public string Email { get; set; }
    public int? PSS_Team_ID { get; set; }
    public virtual PSS_Teams PSS_Teams { get; set; }
    public virtual ICollection<PSS_Trip_Members> PSS_Trip_Members { get; set; }     
    public bool Active { get; set; }
}

public class PSS_Teams : Entity
{  
    [StringLength(50)]
    public string Description { get; set; }
    public virtual ICollection<PSS_Members> PSS_Members { get; set; }
    public virtual ICollection<PSS_Team_Support> PSS_Team_Support { get; set; }
    public virtual ICollection<PSS_Vehicles> PSS_Vehicles { get; set; }      
    public bool Active { get; set; }
}

查看模型:

public class PSS_MembersViewModel
{
    public int ID { get; set; }
    [StringLength(100)]
    public string Full_Name { get; set; }
    [StringLength(50)]
    public string Mobile { get; set; }
    [StringLength(50)]
    public string Mobile2 { get; set; }
    [StringLength(100)]
    public string Email { get; set; }
    public int? PSS_Team_ID { get; set; }
//  public virtual PSS_Teams PSS_Teams { get; set; }
    public virtual PSS_TeamsViewModel PSS_Teams { get; set; }
    public virtual ICollection<PSS_Trip_Members> PSS_Trip_Members { get; set; }
    public bool Active { get; set; }     
}

public class PSS_TeamsViewModel
{
    public int ID { get; set; }
    public string Description { get; set; }
    public virtual ICollection<PSS_MembersViewModel> PSS_Members { get; set; }
}

映射器:

cfg.CreateMap<PSS_Members, PSS_MembersViewModel>()
   .ReverseMap();

cfg.CreateMap<PSS_Teams, PSS_TeamsViewModel>()
   .ForMember(dest => dest.ID, opt => opt.MapFrom(src => src.ID))
   .ReverseMap();

控制器:

var members = _pSS_MembersService.GetAll().ToList();
var model = AutoMapper.Mapper.Map<PSS_MembersViewModel>(members);
var teams = _pSS_TeamsService.GetAll().ToList();
var mappedteams = AutoMapper.Mapper.Map<PSS_TeamsViewModel>(teams);
model.PSS_Teams = mappedteams;

您正在嘗試將實體列表映射到單個視圖模型。

// var mappedteams = AutoMapper.Mapper.Map<PSS_TeamsViewModel>(teams);
   var mappedteams = AutoMapper.Mapper.Map<List<PSS_TeamsViewModel>>(teams);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM