永发信息网

automapper怎样初始化configure

答案:2  悬赏:20  手机版
解决时间 2021-02-08 11:17
automapper怎样初始化configure
最佳答案
AutoMapper是基于约定的,因此在实用映射之前,我们需要先进行映射规则的配置。

public class Source
{
public int SomeValue { get; set; }
public string AnotherValue { get; set; }
}

public class Destination
{
public int SomeValue { get; set; }
}
在上面的代码中,我们定义了两个类,我们需要将Source类的对象映射到Destination类的对象上面。要完成这个操作,我们需要对AutoMapper进行如下配置:

Mapper.CreateMap();
进行一下测试:

Source src = new Source() { SomeValue = 1, AnotherValue = "2" };
Destination dest = Mapper.Map(src);

ObjectDumper.Write(dest);
我们可以在控制台看到dest对象的属性值:

image

这样我们就完成了一个简单的AutoMapper映射。

Profile的用法

Profile提供了一个命名的映射类,所有继承自Profile类的子类都是一个映射集合。

我们来看一下Profile的用法,这个例子中仍然使用上面的Source类和Destination类。

public class SourceProfile : Profile
{
protected override void Configure()
{
CreateMap();
}
}
我们可以再Profile中重写Configure方法,从而完成映射规则的配置。从Profile初始化Mapper规则:

Mapper.Initialize(x => x.AddProfile());
在一个Profile中,我们可以完成多个、更复杂的规则的约定:

public class Destination2
{
public int SomeValue { get; set; }
public string AnotherValue2 { get; set; }
}

public class SourceProfile : Profile
{
protected override void Configure()
{
//Source->Destination
CreateMap();

//Source->Destination2
CreateMap().ForMember(d => d.AnotherValue2, opt =>
{
opt.MapFrom(s => s.AnotherValue);
});
}
}
全部回答
我是来看评论的
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
卡罗拉的窗户只有一个能打开怎么回事
古·摄影(朝霞街与长风路交叉口南50米古&
blackmores无腥味深海鱼油多少粒
涌泉居加气站这个地址在什么地方,我要处理点
生产美术颜料属于什么行业
实现民族复兴的中国梦,是近代以来中华民族肩
中鑫手机售后地址在什么地方,想过去办事
剑灵那个戒行锁技能和应龙苍闪怎么出不去
魅力宝贝(长风南路邮政储蓄旁)地址有知道的么
刘病已为何在立王意为皇后之后永不临幸椒房殿
丝贝朗养生养发馆(589店)怎么去啊,有知道地
下列选项中,说法正确的有()。A.农业植被指
弋阳县附近好钓鱼的地方?
在天猫买东西显示货以发为什么几天还没收到
广达图文广告地址好找么,我有些事要过去
推荐资讯
请问从上海火车站到闸北区柳营路650弄怎么走
白喉乃肺肾阴虚,疫毒攻喉所致,临床表现为A.
【母乳英文】熊猫宝宝出生时主要以母乳为生(
淘宝买港版手机靠谱吗
DNF如何买30级剑魂套装,商城里的推荐装扮不
我看到美团上有的酒店团购写着“免预约”。说
行政处罚法对行政处罚的时效作出了明确规定,
广场西街/通江路(路口)在什么地方啊,我要过
鹤丰旅馆我想知道这个在什么地方
请教mac Office2016安装MSO15.11.2Patch时要
韭菜乡学校地址在什么地方,我要处理点事
华为荣耀畅玩4移动版图库怎样加密
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?