Files
ww-jst/wmsjst/JSMachine.WMS.WebHost/Exstention/AutoMapperExtension.cs
T
2026-09-02 16:31:50 +08:00

39 lines
1.3 KiB
C#

using AutoMapper;
using AutoMapper.Configuration;
using Microsoft.AspNetCore.Builder;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
namespace JSMachine.WMS.WebHost.Exstention
{
public static class AutoMapperExtension
{
public static IServiceCollection AddAutoMapper(this IServiceCollection service)
{
service.TryAddSingleton<MapperConfigurationExpression>();
service.TryAddSingleton(serviceProvider =>
{
var mapperConfigurationExpression = serviceProvider.GetRequiredService<MapperConfigurationExpression>();
var instance = new MapperConfiguration(mapperConfigurationExpression);
//instance.AssertConfigurationIsValid();
return instance;
});
service.TryAddSingleton(serviceProvider =>
{
var mapperConfiguration = serviceProvider.GetRequiredService<MapperConfiguration>();
return mapperConfiguration.CreateMapper();
});
return service;
}
public static IMapperConfigurationExpression UseAutoMapper(this IApplicationBuilder applicationBuilder)
{
return applicationBuilder.ApplicationServices.GetRequiredService<MapperConfigurationExpression>();
}
}
}