将类属性映射到其他(相同属性)类
本文关键字:属性 映射 其他 | 更新日期: 2023-09-27 18:32:30
我有 2 个具有完全相同命名属性的类(1 个业务类和 1 个数据类)。
此时,我已经编写了一个"转换"方法,该方法将所有属性 van 1 类映射到另一个类:
private class BusinessLogic convert(Datalogic dataclass)
{
Businesslogic businessclass = new BusinessLogic();
businessclass.ID = dataclass.ID;
businessclass.name = dataclass.name;
.....
return businessclass;
}
似乎必须有一个更简单的方法。我只是不确定如何搜索它。有人能让我走上正轨吗?
这是映射工具的任务,例如AutoMapper - 如果所有属性都命名相同,这几乎是一行,因为按照惯例,它们将被映射到目标类中的相应属性。
对于您的特定示例,可能是:
Mapper.CreateMap<Datalogic, BusinessLogic>();
BusinessLogic businessclass = Mapper.Map<Datalogic, BusinessLogic>(dataclass);
AutoMapper 是一个可用的库,可以为您执行此Object to Object
映射。
使用AutoMapper,您的代码可以简化为类似
Mapper.CreateMap<Datalogic , Businesslogic >();
Product product= GetProductFromDB(2);
Businesslogic productViewItem = Mapper.Map<Datalogic , Businesslogic >(product);
首页: http://automapper.org/
来源: https://github.com/AutoMapper/AutoMapper
教程链接 http://www.codeproject.com/Articles/61629/AutoMapper