https://github.com/agileobjects/AgileMapper
A zero-configuration, highly-configurable, unopinionated object mapper with viewable execution plans. Flattens, unflattens, deep clones, merges, updates and projects queries. .NET 3.5+ and .NET Standard 1.0+.
https://github.com/agileobjects/AgileMapper
dto mapper mapping mappings netstandard viewmodel
Last synced: about 2 months ago
JSON representation
A zero-configuration, highly-configurable, unopinionated object mapper with viewable execution plans. Flattens, unflattens, deep clones, merges, updates and projects queries. .NET 3.5+ and .NET Standard 1.0+.
- Host: GitHub
- URL: https://github.com/agileobjects/AgileMapper
- Owner: agileobjects
- License: mit
- Created: 2016-05-01T23:08:40.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2022-09-25T09:05:35.000Z (over 2 years ago)
- Last Synced: 2025-03-03T23:15:58.157Z (2 months ago)
- Topics: dto, mapper, mapping, mappings, netstandard, viewmodel
- Language: C#
- Homepage:
- Size: 58.3 MB
- Stars: 460
- Watchers: 16
- Forks: 27
- Open Issues: 13
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-dotnet-core - AgileMapper - AgileMapper is a zero-configuration, highly-configurable object-object mapper with viewable execution plans. (Frameworks, Libraries and Tools / Misc)
- awesome-dotnet-core - AgileMapper - AgileMapper是一个零配置,高度可配置的对象 - 对象映射库,具有可查看的执行计划。 (框架, 库和工具 / 大杂烩)
- fucking-awesome-dotnet-core - AgileMapper - AgileMapper is a zero-configuration, highly-configurable object-object mapper with viewable execution plans. (Frameworks, Libraries and Tools / Misc)
- awesome-dotnet-core - AgileMapper - AgileMapper is a zero-configuration, highly-configurable object-object mapper with viewable execution plans. (Frameworks, Libraries and Tools / Misc)
README
# AgileMapper
[](https://badge.fury.io/nu/AgileObjects.AgileMapper)
[](https://ci.appveyor.com/project/SteveWilkes/agilemapper)AgileMapper is a zero-configuration, [highly-configurable](https://agilemapper.readthedocs.io/configuration), unopinionated object
mapper with [viewable execution plans](https://agilemapper.readthedocs.io/Using-Execution-Plans).
It flattens, unflattens, deep clones, [merges](https://agilemapper.readthedocs.io/Performing-Merges),
[updates](https://agilemapper.readthedocs.io/Performing-Updates) and [projects queries](https://agilemapper.readthedocs.io/query-projection/)
via [extension methods](https://agilemapper.readthedocs.io/Mapping-Extension-Methods), or a
[static or instance](https://agilemapper.readthedocs.io/Static-vs-Instance-Mappers) API.
It targets .NET 3.5+ and [.NET Standard 1.0+](https://docs.microsoft.com/en-us/dotnet/articles/standard/library).You can use it to create new objects:
```C#
var customerDto = Mapper.Map(customer).ToANew();
```...[project queries](https://agilemapper.readthedocs.io/query-projection):
```C#
var customerDtos = await context
.Customers
.Project().To()
.ToArrayAsync();
```...perform [id-aware updates](https://agilemapper.readthedocs.io/Performing-Updates):
```C#
Mapper.Map(customerViewModel).Over(customer);
```...and [merges](https://agilemapper.readthedocs.io/Performing-Merges):
```C#
Mapper.Map(customerOne).OnTo(customerTwo);
```It's [available via NuGet](https://www.nuget.org/packages/AgileObjects.AgileMapper) and licensed with the
[MIT licence](https://github.com/agileobjects/AgileMapper/blob/master/LICENCE.md). Check out
[the documentation](https://agilemapper.readthedocs.io) for more!