使用 Mapster 将一个 Class 属性映射到两个不同的 class 属性
Map one Class properties to two different class properties using Mapster
我有 3 个 类,名称分别为 Employee、EmployeeTwo 和 EmployeeThree,我想将 Employee 映射到 EmployeeTwo,将 Employee 映射到 EmployeeThree。
以下是 Class。
我还尝试在 Employee Class 属性 上定义 AdaptMember 属性,但它只定义了一个,我必须用两个不同的映射它。
注意:我无法为 EmployeeTwo 和 EmployeeThree 类 定义任何属性,因为它来自 API 并且可以重新生成。
public class Employee
{
[AdaptMember(nameof(EmployeeTwo.EmployeeID))]
public int ID { get; set; }
[AdaptMember(nameof(EmployeeTwo.EmployeeName))]
public string Name { get; set; }
}
public class EmployeeTwo
{
public int EmployeeID { get; set; }
public string EmployeeName { get; set; }
}
public class EmployeeThree
{
public int EmployeeThreeID { get; set; }
public string EmployeeThreeName { get; set; }
}
非常感谢任何帮助。
据我了解,您想使用 mapster 制作自定义对象映射。
如果你想制作自定义映射,你需要创建一个 class:
using Mapster;
namespace Application.Mapsters
{
public class Config : ICodeGenerationRegister
{
public void Register(CodeGenerationConfig config)
{
TypeAdapterConfig<Employee, EmployeeTwo>
.NewConfig()
.Map(dst => dst.EmployeeID, src => src.ID)
.Map(dst => dst.EmployeeName, src => src.Name);
}
}
}
例如,按照此示例查看如何使用 mapster 制作自定义映射:
我有 3 个 类,名称分别为 Employee、EmployeeTwo 和 EmployeeThree,我想将 Employee 映射到 EmployeeTwo,将 Employee 映射到 EmployeeThree。
以下是 Class。 我还尝试在 Employee Class 属性 上定义 AdaptMember 属性,但它只定义了一个,我必须用两个不同的映射它。
注意:我无法为 EmployeeTwo 和 EmployeeThree 类 定义任何属性,因为它来自 API 并且可以重新生成。
public class Employee
{
[AdaptMember(nameof(EmployeeTwo.EmployeeID))]
public int ID { get; set; }
[AdaptMember(nameof(EmployeeTwo.EmployeeName))]
public string Name { get; set; }
}
public class EmployeeTwo
{
public int EmployeeID { get; set; }
public string EmployeeName { get; set; }
}
public class EmployeeThree
{
public int EmployeeThreeID { get; set; }
public string EmployeeThreeName { get; set; }
}
非常感谢任何帮助。
据我了解,您想使用 mapster 制作自定义对象映射。 如果你想制作自定义映射,你需要创建一个 class:
using Mapster;
namespace Application.Mapsters
{
public class Config : ICodeGenerationRegister
{
public void Register(CodeGenerationConfig config)
{
TypeAdapterConfig<Employee, EmployeeTwo>
.NewConfig()
.Map(dst => dst.EmployeeID, src => src.ID)
.Map(dst => dst.EmployeeName, src => src.Name);
}
}
}
例如,按照此示例查看如何使用 mapster 制作自定义映射: