AutoMapper README

The project's README from github.com/LuckyPennySoftware/AutoMapper. As one markdown file: README.md.

AutoMapper

CI NuGet Documentation Status

What is AutoMapper?

AutoMapper is a simple little library built to solve a deceptively complex problem - getting rid of code that mapped one object to another. This type of code is rather dreary and boring to write, so why not invent a tool to do it for us?

This is the main repository for AutoMapper, but there's more:

How do I get started?

First, configure AutoMapper to know what types you want to map, in the startup of your application:

var configuration = new MapperConfiguration(cfg => 
{
    cfg.CreateMap<Foo, FooDto>();
    cfg.CreateMap<Bar, BarDto>();
}, loggerFactory);

// or more typically, using IServiceCollection with automatic service registration
services.AddAutoMapper(cfg => 
{
    cfg.CreateMap<Foo, FooDto>();
    cfg.CreateMap<Bar, BarDto>();
});
// AutoMapper will automatically register any implementations of:
// - IValueResolver<TSource, TDestination, TDestMember>
// - IMemberValueResolver<TSource, TDestination, TSourceMember, TDestMember>
// - ITypeConverter<TSource, TDestination>
// - IValueConverter<TSourceMember, TDestinationMember>
// - ICondition<TSource, TDestination, TDestMember>
// - IPreCondition<TSource, TDestination>
// - IMappingAction<TSource, TDestination>
// from the provided assemblies

// only during development, validate your mappings; remove it before release
#if DEBUG
configuration.AssertConfigurationIsValid();
#endif
// use DI (http://docs.automapper.io/en/latest/Dependency-injection.html) or create the mapper yourself
var mapper = configuration.CreateMapper();

Then in your application code, execute the mappings:

var fooDto = mapper.Map<FooDto>(foo);
var barDto = mapper.Map<BarDto>(bar);

Check out the getting started guide. When you're done there, the wiki goes in to the nitty-gritty details. If you have questions, you can post them to Stack Overflow.

Where can I get it?

First, install NuGet. Then, install AutoMapper from the package manager console:

PM> Install-Package AutoMapper

Or from the .NET CLI as:

dotnet add package AutoMapper

Do you have an issue?

You might want to know exactly what your mapping does at runtime.

If you're still running into problems, file an issue above.

If you are a paying customer, you can contact support via your account.

How do I set the license key?

You can set the license key when registering AutoMapper:

services.AddAutoMapper(cfg => 
{
    cfg.LicenseKey = "<license key here>";
})

You can register for your license key at AutoMapper.io

AutoMapper (LuckyPennySoftware/AutoMapper)

Searching Database…

What is this?AutoMapper is a convention-based object-to-object mapper for .NET that eliminates the repetitive code needed to copy properties from one object to another.
Is this a framework or just a library I plug into my code?It is a small class library you reference from your .NET project, not a standalone app or framework — you configure which types map to which and then call the mapper from your own code.
How do I add it to my project?Install the NuGet package with 'Install-Package AutoMapper' in the Package Manager Console or 'dotnet add package AutoMapper' via the .NET CLI, then configure type mappings at application startup and call Mapper to execute them.
Do I need to buy a license to use it?AutoMapper now has you set a license key when registering it in your app, and you can get one at AutoMapper.io; paying customers additionally get direct support through their account.
What companion packages come with AutoMapper?Beyond the core mapper, there are optional add-on packages for Collection Extensions, Expression Mapping, EF6 Extensions, IDataReader/Record Extensions, and Enum Extensions.
Can I see what a mapping actually does at runtime?Yes — AutoMapper lets you inspect exactly what a given mapping does at runtime, which helps diagnose cases where the output isn't what you expected.
Size
124.5 MB
Stars
10.2K
Age
16y
Commits · 90 Days