将类属性映射到其他(相同属性)类

本文关键字:属性 映射 其他 | 更新日期: 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