我有两节课:
source.Employee 和 destination.Employee 。
我的函数目标属性名称中只有两个名称,即destination.TestEnum1 和源属性名称,即source.TestEnum1。
我想动态创建表达式,如下所述。
var mapExpr = Mapper.CreateMap<Soure.Employee, destination.Employee>().ForMember(destination => destination.TestEnum1, opt => opt.MapFrom(source => (destination.MyEnum2)source.TestEnum1));
表情简直了
destination => destination.TestEnum1, opt => opt.MapFrom(source => (destination.MyEnum2)source.TestEnum1)
我正在创建它以在 Project().To(); 中映射 Enum。作为
Mapper.CreateMap<Soure.MyEnum1, destination.MyEnum2>()
给出无法将 MyEnum2 映射到 int 32 的异常。
来源员工:
namespace Soure
{
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public Department dept1 { get; set; }
public int age { get; set; }
public MyEnum1 TestEnum1 { get; set; }
}
public enum MyEnum1
{
red = 1,
yellow = 2
}
}
目标员工类别:
namespace destination
{
public class Employee
{
public int Id { get; set; }
public string Name { get; set; }
public int age { get; set; }
public MyEnum2 TestEnum1 { get; set; }
public Departments dept1 { get; set; }
}
public enum MyEnum2
{
red = 1,
yellow = 2
}
}