.net core中使用Automapper
安裝所需的包
Install-Package AutoMapper.Extensions.Microsoft.DependencyInjection
配置AutoMapper
public void ConfigureServices(IServiceCollection services)
{
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.AddAutoMapper(AppDomain.CurrentDomain.GetAssemblies());
}
新增測試模型
public class QueueInfo
{
public string Id { get; set; }
public string QueueNumber { get; set; }
public DateTime CreateTime { get; set; }
}
public class QueueInfoCreateDto
{
public string Id { get; set; }
public string QueueNumber { get; set; }
public DateTime CreateTime { get; set; }
}
建立使用者自定義Profile進行對映配置
public class QueueProfile:Profile
{
public QueueProfile()
{
CreateMap<QueueInfo, QueueInfoCreateDto>().ReverseMap();
}
}
ReverseMap表示雙向對映。具體還有很多相關的api,詳情可以進行官網檢視。
進行測試
public class ValuesController : ControllerBase
{
//註冊IMapper
private readonly IMapper _mapper;
public ValuesController(IMapper mapper)
{
_mapper = mapper;
}
// GET api/values
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
QueueInfo info = new QueueInfo
{
Id = Guid.NewGuid().ToString(),
CreateTime = DateTime.Now,
QueueNumber = "123456789"
};
var dto = _mapper.Map<QueueInfoCreateDto>(info);
return Ok(dto);
}
}
集合之間也可以進行對映。其他擴充請檢視官網進行學習。
Automapper還可以在命名上進行自動轉換。
例如
public class QueueInfo
{
public string Id { get; set; }
public string QueueNumber { get; set; }
public DateTime CreateTime { get; set; }
public QueueItem QueueItem { get; set; }
}
public class QueueItem
{
public string Id { get; set; }
public string Name { get; set; }
}
public class QueueInfoCreateDto
{
public string Id { get; set; }
public string QueueNumber { get; set; }
public DateTime CreateTime { get; set; }
/// <summary>
/// 這裡使用的是QueueInfo中的QueueItem物件下的Name。進行對映的時候會自動對映
/// </summary>
public string QueueItemName { get; set; }
}
相關文章
- .net Core 使用AutoMapperAPP
- .NET Core 中AutoMapper的配置及使用APP
- .Net core 中 AutoMapper的應用APP
- ASP.NET.Core中使用AutoMapperASP.NETAPP
- .Net Core中更高階的AutoMapper示例APP
- .NET Core 中依賴注入 AutoMapper 小記依賴注入APP
- .net core3.1 AutoMapperAPP
- .NET Core Dto對映(AutoMapper)APP
- asp.net core 3.1.x 中使用AutoMapperASP.NETAPP
- 在ASP.NET Core MVC 2.2 中使用AutoMapperASP.NETMVCAPP
- .NET CORE 中使用AutoMapper進行物件對映APP物件
- ASP.NET Core 中的物件對映之 AutoMapperASP.NET物件APP
- .Net Core AutoMapper自定義擴充套件方法的使用APP套件
- .net framework autoMapper使用FrameworkAPP
- .NET Core(.NET6)中gRPC使用RPC
- .Net Core中簡單使用MongoDBMongoDB
- .NET CORE AUTOMAPPER 對映一個類的子類APP
- .Net Mvc AutoMapper簡單使用MVCAPP
- 在 ASP.NET Core 專案中使用 AutoMapper 進行實體對映ASP.NETAPP
- .Net Core 使用SessionSession
- .net core使用RabbitMQMQ
- 【asp.net core 系列】14 .net core 中的IOCASP.NET
- [.net core學習] .net core中的Rijndael取代方法
- .Net Core中使用RabbitMQMQ
- ASP.NET Core ----ASP.NET Core中使用Code FirstASP.NET
- .Net Core中依賴注入服務使用總結依賴注入
- jwt-在asp.net core中的使用jwtJWTASP.NET
- 在.NET Core 中使用Quartz.NETquartz
- .NET Core 使用MediatR CQRS模式模式
- .NET Core 物件池的使用物件
- .Net Core使用File ProvidersIDE
- .net core使用配置檔案
- .Net Core中使用ElasticSearch(二)Elasticsearch
- .Net Core中使用GrpcRPC
- 如何在 .NetCore 中使用 AutoMapper 高階功能NetCoreAPP
- 在Docker中安裝.NET Core(使用命令列工具)Docker命令列
- AutoMapper在ABP框架中的使用說明APP框架
- ASP.NET Core初步使用Quartz.NETASP.NETquartz