using Mapster; using MapsterMapper; using System.Reflection; namespace Microsoft.Extensions.DependencyInjection { /// /// Mapster 映射拓展类 /// public static class ObjectMapperServiceCollectionExtensions { /// /// 添加 Mapster 映射 /// /// 服务集合 /// 扫描的程序集 /// public static IServiceCollection AddObjectMapper(this IServiceCollection services, params Assembly[] assemblies) { // 获取全局映射配置 var config = TypeAdapterConfig.GlobalSettings; // 扫描所有继承 IRegister 接口的对象映射配置 if (assemblies != null && assemblies.Length > 0) config.Scan(assemblies); // 配置默认全局映射(支持覆盖) config.Default.NameMatchingStrategy(NameMatchingStrategy.Flexible).PreserveReference(true); // 配置默认全局映射(忽略大小写敏感) config.Default.NameMatchingStrategy(NameMatchingStrategy.IgnoreCase).PreserveReference(true); // 配置支持依赖注入 services.AddSingleton(config); services.AddScoped(); return services; } } }