AutoMapper.Extensions.Microsoft.DependencyInjection 12.0.1

AutoMapper extensions for Microsoft.Extensions.DependencyInjection

CI NuGet MyGet (dev)

Scans assemblies and:

  1. adds profiles to mapping configuration
  2. adds value resolvers, member value resolvers, type converters to the container.

To use, with an IServiceCollection instance and one or more assemblies:

services.AddAutoMapper(assembly1, assembly2 /*, ...*/);

or marker types:

services.AddAutoMapper(type1, type2 /*, ...*/);

This registers AutoMapper:

  • As a singleton for the MapperConfiguration
  • As a transient instance for IMapper
  • ITypeConverter instances as transient
  • IValueConverter instances as transient
  • IValueResolver instances as transient
  • IMemberValueResolver instances as transient
  • IMappingAction instances as transient

Mapping configuration is static as it is the root object that can create an IMapper.

Mapper instances are registered as transient. You can configure this with the serviceLifetime parameter. Be careful changing this, as Mapper takes a dependency on a factory method to instantiate the other extensions.

Mapper.Map usage

To map at runtime, add a dependency on IMapper:

public class EmployeesController {
	private readonly IMapper _mapper;

	public EmployeesController(IMapper mapper)
		=> _mapper = mapper;

	// use _mapper.Map to map
}

ProjectTo usage

Starting with 8.0 you can use IMapper.ProjectTo. The old ProjectTo is an extension method and does not have dependency injection available. Pass an IConfigurationProvider instance directly:

var orders = await dbContext.Orders
                       .ProjectTo<OrderDto>(_configurationProvider)
					   .ToListAsync();

Or you can use an IMapper instance:

var orders = await dbContext.Orders
                       .ProjectTo<OrderDto>(_mapper.ConfigurationProvider)
					   .ToListAsync();

Showing the top 20 packages that depend on AutoMapper.Extensions.Microsoft.DependencyInjection.

Packages Downloads
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
113
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
115
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
116
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
118
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
125
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
126
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
127
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
129
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
136
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
138
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
141
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
149
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
153
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
171
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
191
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
208
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
234
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
287
Quantum.Framework.Infrastructure
负责提供Ioc, AutoMapper, ScmRuntimeInfo, WorkContext, QuantumContext等核心组件, 不参与非核心组件的功能
469

.NET Standard 2.1

Version Downloads Last updated
12.0.1 144 05/14/2023
12.0.0 66 12/07/2022
8.1.1 168 11/03/2022
8.1.0 56 11/14/2024
8.0.1 77 06/10/2022
7.0.0 53 11/04/2022
6.0.0 70 11/11/2024
5.0.1 72 04/10/2023
3.2.0 65 06/10/2022
3.1.0 57 11/28/2024
2.0.1 55 11/27/2024
2.0.0 59 06/10/2022
1.1.0 58 11/14/2024
1.0.1-alpha 61 06/10/2022