Sparkdo AutoMapper 集成库,提供基于 AutoMapper 的对象映射功能实现
License
—
Deps
27
Install Size
—
Vulns
✓ 0
Published
Feb 8, 2026
$ dotnet add package Sparkdo.AutoMapperSparkdo AutoMapper 集成库,提供基于 AutoMapper 的对象映射功能实现。
<PackageReference Include="Sparkdo.AutoMapper" Version="x.x.x" />
AutoMapper 自动对象映射提供者,实现 IAutoObjectMappingProvider 接口:
Map<TSource, TDestination>(object source): 映射对象Map<TSource, TDestination>(TSource source, TDestination destination): 映射到现有对象为扩展属性提供映射支持:
MapExtraProperties<TSource, TDestination>(): 映射扩展属性IgnoreExtraProperties<TSource, TDestination>(): 忽略扩展属性映射IServiceCollection 扩展方法:
AddAutoMapperObjectMapper(): 添加 AutoMapper 对象映射器AddAutoMapperObjectMapper<TContext>(): 添加支持特定上下文的 AutoMapper 对象映射器IObjectMapper 扩展方法:
GetMapper(): 获取 AutoMapper IMapper 实例在模块的 ConfigureServices 方法中添加 AutoMapper 配置:
public override void ConfigureServices(IServiceCollection services)
{
services.AddAutoMapperObjectMapper();
}
使用 AutoMapper 进行对象映射:
// 简单对象映射
var destination = objectMapper.Map<SourceObject, DestinationObject>(source);
// 映射到现有对象
objectMapper.Map<SourceObject, DestinationObject>(source, existingDestination);
在 AutoMapper 配置中映射扩展属性:
CreateMap<SourceEntity, DestinationEntity>()
.MapExtraProperties();
在 AutoMapper 配置中忽略扩展属性:
CreateMap<SourceEntity, DestinationEntity>()
.IgnoreExtraProperties();
该库提供了完整的 AutoMapper 集成功能,可以通过以下方式扩展:
IAutoObjectMappingProvider 来替换底层映射实现AutoMapperAutoObjectMappingProvider<TContext> 来添加上下文支持本项目包含以下主要组件:
AutoMapperAutoObjectMappingProvider: 基于 AutoMapper 的自动对象映射提供者AutoMapperAutoObjectMappingProvider<TContext>: 支持特定上下文的 AutoMapper 自动对象映射提供者IConfigurationProviderFactory: 配置提供者工厂接口ConfigurationProviderFactory: 配置提供者工厂实现ISparkdoAutoMapperConfigurationContext: AutoMapper 配置上下文接口SparkdoAutoMapperConfigurationContext: AutoMapper 配置上下文实现SparkdoAutoMapperOptions: AutoMapper 配置选项IMapperAccessor: Mapper 访问器接口MapperAccessor: Mapper 访问器实现SparkdoAutoMapperExtensibleObjectExtensions: 扩展属性映射扩展方法AutoMapperServiceCollectionExtensions: 服务集合扩展方法SparkdoAutoMapperObjectMapperExtensions: 对象映射器扩展方法AutoMapperExpressionExtensions: AutoMapper 表达式扩展方法SparkdoAutoMapperModule: Sparkdo AutoMapper 模块配置所有公共接口和类都添加了详细的 XML 文档注释,便于开发者理解和使用。