使用自动映射器获取专利对象属性值

本文关键字:对象 属性 获取 映射 | 更新日期: 2023-09-27 18:37:00

我有 3 个类从实体框架获取数据:

public class State{ 
   .......
   public string Name{get; set;}
   public IList<City> Cities{get;set;}
}
public class City{ 
     .......
   public string Name{get; set;}
   public State State{get; set;}
}
public class Empleoyee{ 
   ......
   public string Name{get; set;}
   public City City{get; set;}
}

我正在创建一个这样的员工召唤视图:

Employees
-------------------
CityStateName  CityName  Name

摘要类是这样的:

public class EmpleoyeeSummaryView{ 
   public string Name{get; set;}
   public string CityName{get; set;}
   public string CityStateName{get; set;} ?????
}

我绘制了Mapper.CreateMap<Employee, EmpleoyeeSummaryView>CityStateName即将empty/null

Employees
-------------------
CityStateName  CityName  Name
               City1     Emp1
               City2     Emp2
               City1     Emp3

使用自动映射器获取专利对象属性值

试试这个(CityStateName 是一个自定义属性,您必须为其定义翻译行为):

Mapper.CreateMap<Employee, EmpleoyeeSummaryView>()
    .ForMember(dest => dest.CityStateName,
               opts => opts.MapFrom(
                   src => string.Format("{0} {1}",
                       src.State.Name,
                       src.Name)));