Sparkdo.AutoMapper 1.0.1

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package Sparkdo.AutoMapper --version 1.0.1
                    
NuGet\Install-Package Sparkdo.AutoMapper -Version 1.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Sparkdo.AutoMapper" Version="1.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Sparkdo.AutoMapper" Version="1.0.1" />
                    
Directory.Packages.props
<PackageReference Include="Sparkdo.AutoMapper" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Sparkdo.AutoMapper --version 1.0.1
                    
#r "nuget: Sparkdo.AutoMapper, 1.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Sparkdo.AutoMapper@1.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Sparkdo.AutoMapper&version=1.0.1
                    
Install as a Cake Addin
#tool nuget:?package=Sparkdo.AutoMapper&version=1.0.1
                    
Install as a Cake Tool

Sparkdo.AutoMapper

Sparkdo AutoMapper 集成库,提供基于 AutoMapper 的对象映射功能实现。

功能特性

  • 基于 AutoMapper 的对象映射实现
  • 支持扩展属性映射
  • 支持忽略扩展属性映射
  • 与 Sparkdo 框架无缝集成
  • 支持依赖注入配置

安装

<PackageReference Include="Sparkdo.AutoMapper" Version="x.x.x" />

核心组件

AutoMapperAutoObjectMappingProvider

AutoMapper 自动对象映射提供者,实现 IAutoObjectMappingProvider 接口:

  • Map<TSource, TDestination>(object source): 映射对象
  • Map<TSource, TDestination>(TSource source, TDestination destination): 映射到现有对象

扩展方法

SparkdoAutoMapperExtensibleObjectExtensions

为扩展属性提供映射支持:

  • MapExtraProperties<TSource, TDestination>(): 映射扩展属性
  • IgnoreExtraProperties<TSource, TDestination>(): 忽略扩展属性映射
AutoMapperServiceCollectionExtensions

IServiceCollection 扩展方法:

  • AddAutoMapperObjectMapper(): 添加 AutoMapper 对象映射器
  • AddAutoMapperObjectMapper<TContext>(): 添加支持特定上下文的 AutoMapper 对象映射器
SparkdoAutoMapperObjectMapperExtensions

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 集成功能,可以通过以下方式扩展:

  1. 实现自定义的 IAutoObjectMappingProvider 来替换底层映射实现
  2. 通过继承 AutoMapperAutoObjectMappingProvider<TContext> 来添加上下文支持
  3. 使用 AutoMapper 的配置 API 自定义映射规则

代码结构说明

本项目包含以下主要组件:

映射提供者

  • 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 文档注释,便于开发者理解和使用。

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.0.2-preview.1 139 12/4/2025
1.0.1 168 11/27/2025
1.0.0 166 11/25/2025
1.0.0-preview.5 92 10/24/2025