AutoMapper 是一個類別對應轉換的套件,在ASP.NET Core專案中的用法有有點差異,本篇說明適合ASP.NET Core 的簡潔用法。
安裝套件
1 | Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection |
此套件是使用 ASP.Net Core 自帶的 DI Framework,讓 AutoMapper 使用上更簡潔優雅,此套件依賴了 AutoMapper,會自動安裝。
加入 Startup.cs
1 | public void ConfigureServices(IServiceCollection services) |
ASP.Net Core 專案中要使用什麼東西皆是相同套路,在 ConfigureServices 中 AddAutoMapper 這個 Middleware。
建立 Profile
1 | public class UserProfie : Profile |
Profile 的重點在繼承 Profile
這個類別
使用 IMapper
1 | public class HomeController : Controller |
只要透過建構式注入 IMapper,就可以透過 Map 這個方法 Mapper Profile 有定義到類別。
結論
這樣的作法有什麼好處呢?
- 夠簡潔。使用 AddAutoMapper 方法,啟動 AutoMapper middleware,簡單明瞭。
- 低耦合。藉由繼承 Profile ,AutoMapper 自動取得所有定義 Profile,並將 IMapper 注入到需要的區塊中,降低程式碼對 AutoMapper 的耦合度。
簡單的一句話,Asp.Net Core 真叫人愛不釋手。