1

我有 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;
}

似乎必须有一个更简单的方法。我只是不知道如何搜索它。有人可以让我走上正轨。

4

2 回答 2

4

这是映射工具的任务,例如AutoMapper - 如果所有属性都命名相同,这几乎是一行,因为按照惯例,它们将映射到目标类中的相应属性。

对于您的特定示例,可能是:

Mapper.CreateMap<Datalogic, BusinessLogic>();
BusinessLogic businessclass = Mapper.Map<Datalogic, BusinessLogic>(dataclass);
于 2012-04-27T13:29:33.617 回答
2

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

于 2012-04-27T13:30:35.637 回答