ASP.NET.Core中使用AutoMapper
首先需要在NuGet中引用AutoMapper的類庫
install-package AutoMapper
install-package AutoMapper.Extensions.Microsoft.DependencyInjection
然後建立好要進行轉換的類
public class User { public int ID { get; set; } public string Name { get; set; } }
public class UserDto { public int ID { get; set; } public string Name { get; set; } }
然後再建立一個標誌介面IProfile
internal interface IProfile { }
接下來建立一個類來繼承AutoMapper的Profile類與實現剛才建立的標誌介面IProfile,並且在建構函式中配置關係對映
public class MyProfile: Profile,IProfile { public MyProfile() { CreateMap<User, UserDto>(); CreateMap<UserDto, User>(); } }
然後再建立一個類來註冊關係對映
public class Mappings { public static void RegisterMappings() { //獲取所有IProfile實現類 var allType = Assembly .GetEntryAssembly()//獲取預設程式集 .GetReferencedAssemblies()//獲取所有引用程式集 .Select(Assembly.Load) .SelectMany(y => y.DefinedTypes) .Where(type => typeof(IProfile).GetTypeInfo().IsAssignableFrom(type.AsType())); foreach (var typeInfo in allType) { var type = typeInfo.AsType(); if (type.Equals(typeof(IProfile))) { //註冊對映 Mapper.Initialize(y => { y.AddProfiles(type); // Initialise each Profile classe }); } } } }
從上面程式碼可以看出使用標誌介面來判斷註冊對映類進行註冊對映,
最後只需在Startup類的ConfigureServices方法中新增服務和將Mappings新增到中介軟體即可使用
public void ConfigureServices(IServiceCollection services) { services.AddAutoMapper(); services.AddMvc(); }
public void Configure(IApplicationBuilder app, IHostingEnvironment env) { Mappings.RegisterMappings(); }
然後就可以使用automapper,
public class ValuesController : Controller { private IMapper _mapper { get; set; } public ValuesController([FromServices]IMapper mapper) { this._mapper = mapper; } // GET api/values [HttpGet] public UserDto Get() { User user = new User() { ID = 1, Name = "狗娃" }; var dto = Mapper.Map<User, UserDto>(user); return dto; }
}
因為core使用DI建立物件,所以只需新增建構函式即可。
相關文章
- .NET Core 中AutoMapper的配置及使用APP
- AutoMapper在ABP框架中的使用說明APP框架
- .net framework autoMapper使用FrameworkAPP
- .net Core 使用AutoMapperAPP
- .net core中使用AutomapperAPP
- AutoMapper使用手冊(一)APP
- 【C#】AutoMapper 使用手冊C#APP
- .Net Mvc AutoMapper簡單使用MVCAPP
- .Net core 中 AutoMapper的應用APP
- .Net Core中更高階的AutoMapper示例APP
- AutoMapperAPP
- AutoMapper在MVC中的運用小結APPMVC
- .NET Core 中依賴注入 AutoMapper 小記依賴注入APP
- 簡單使用AutoMapper實現DTO轉換APP
- AutoMapper(七)APP
- AutoMapper(六)APP
- AutoMapper(五)APP
- AutoMapper(四)APP
- AutoMapper(三)APP
- AutoMapper(二)APP
- AutoMapper(一)APP
- AutoMapper在MVC中的運用01-配置、使用、單元測試、舉例APPMVC
- asp.net core 3.1.x 中使用AutoMapperASP.NETAPP
- 在ASP.NET Core MVC 2.2 中使用AutoMapperASP.NETMVCAPP
- .NET CORE 中使用AutoMapper進行物件對映APP物件
- 淺入 AutoMapperAPP
- ASP.NET Core 中的物件對映之 AutoMapperASP.NET物件APP
- .Net Core AutoMapper自定義擴充套件方法的使用APP套件
- 如何在 .NetCore 中使用 AutoMapper 高階功能NetCoreAPP
- DDD領域驅動設計初探(5):AutoMapper使用APP
- AutoMapper 最佳實踐APP
- AutoMapper原始碼解析APP原始碼
- .net core3.1 AutoMapperAPP
- AutoMapper的原始碼分析APP原始碼
- Prism+WPF使用DependencyInjection實現AutoMapper的依賴注入功能APP依賴注入
- AutoMapper中的Map和DynamicMap——高手注重細節,思考和總結APP
- .NET Core Dto對映(AutoMapper)APP
- 04.AutoMapper 之投影(Projection)APPProject