【ASP.net MVC】使用 AutoMapper 實作 Models 資料互相轉換 (DTO)

前言
今天上班的時候,剛好需要N個資料表的資料拋轉成為一個 Model ,然後到了View中去顯示這些資料,但是這是一個難題所在!以前我用的方式是把每一個屬性都一一列出...這樣不僅很累又容易出錯!常常把許多時間都花在debug上...現在有N個資料表的資料,錯誤率更高,撰寫程式碼的時間也大大的提升...

1Member User = new Member();
2MemberView  MemberData = new MemberView ();
3MemberData .Account = User .UserAccount;
4MemberData .Password = User .UserPassword;
5MemberData .UserName = User .UserName;
6//其他屬性...
7

return MemberData ;

 

上面那段的程式碼的確是一種方法,但只要眼花手殘少打了一行code,就得回頭一個一個檢查!今天詢問了 Sky大,跟我說可以利用 AutoMapper去做到自動映射的功能,而且程式碼只要兩行!減少很多時間去debug跟keyin code!
 
主題
說了這麼多,還是進入今天的主角吧!AutoMapper (http://automapper.codeplex.com/)是非官方開發出來的一個對應工具,要放進MVC專案中,最簡單的方法就是透過NuGet下載

AutpMapper1

接下來下載我們所需要的 AutoMapper

AutoMapper2

 

 


安裝完畢後,我們要先引用命名空間

1using AutoMapper;

接下來我們就可以使用這個套件囉!
使用 AutoMapper之前,我們要先告訴她,我們是哪兩個Class要互相轉換
 
Mapper.CreateMap<Member, MemberView>();
 
之後我們再把我們要轉換的變數放進去,就可以了
 
Mapper.Map<Member, MemberView>(User);
 
最後我們的Code就會長得像這樣
 
Member User= new Member();
MemberView MemberData = new MemberView ();
Mapper.CreateMap<Member, MemberView>();
MemberData = Mapper.Map<Member, MemberView>(User);
 
後記
AutoMapper 功能不只這麼簡單,但是我只需要這項功能,而在對應上也有一些限制,屬性的名稱需要相同,才有辦法映射!
有需要的朋友,可以繼續試玩 ^_^

转载于:https://www.cnblogs.com/yuanye0918/p/3492086.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值