|
1 | 1 | --- |
2 | 2 | layout: default |
3 | | -title: EggMapper |
| 3 | +title: Home |
| 4 | +nav_order: 1 |
| 5 | +description: "EggMapper — fastest .NET object mapper. Free AutoMapper alternative, 2-5x faster, MIT licensed." |
| 6 | +permalink: / |
4 | 7 | --- |
5 | 8 |
|
6 | 9 | # EggMapper |
| 10 | +{: .fs-9 } |
7 | 11 |
|
8 | | -**Fastest .NET runtime object-to-object mapper.** Drop-in replacement for AutoMapper — same API, 2-5x faster, MIT licensed. |
| 12 | +Fastest .NET runtime object-to-object mapper. Drop-in AutoMapper replacement — same API, 2-5x faster, MIT licensed. |
| 13 | +{: .fs-6 .fw-300 } |
| 14 | + |
| 15 | +[Get Started](quick-start){: .btn .btn-primary .fs-5 .mb-4 .mb-md-0 .mr-2 } |
| 16 | +[View on GitHub](https://github.com/eggspot/EggMapper){: .btn .fs-5 .mb-4 .mb-md-0 } |
| 17 | + |
| 18 | +--- |
9 | 19 |
|
10 | 20 | ## Why EggMapper? |
11 | 21 |
|
12 | | -| | AutoMapper | EggMapper | |
| 22 | +| | AutoMapper | **EggMapper** | |
13 | 23 | |---|-----------|-----------| |
14 | | -| **License** | Commercial (v13+) | MIT (free forever) | |
15 | | -| **Performance** | Baseline | 2-5x faster | |
16 | | -| **Allocations** | Extra per-map | Zero extra | |
17 | | -| **Runtime reflection** | Yes | No (compiled expressions) | |
18 | | -| **API** | Original | Same API, drop-in | |
| 24 | +| License | Commercial (v13+) | **MIT (free forever)** | |
| 25 | +| Performance | Baseline | **2-5x faster** | |
| 26 | +| Allocations | Extra per-map | **Zero extra** | |
| 27 | +| Runtime reflection | Yes | **No** (compiled expressions) | |
| 28 | +| API | Original | **Same API, drop-in** | |
19 | 29 |
|
20 | 30 | ## Install |
21 | 31 |
|
@@ -44,22 +54,12 @@ var dto = mapper.Map<CustomerDto>(customer); |
44 | 54 | - **Zero runtime reflection** — all delegates compiled as expression trees |
45 | 55 | - **Zero extra allocations** — matches hand-written mapping code |
46 | 56 | - **Collection auto-mapping** — `Map<List<B>>(listOfA)` works with just `CreateMap<A,B>()` |
47 | | -- **Same-type auto-mapping** — `Map<T,T>(obj)` creates a copy without any configuration |
| 57 | +- **Same-type auto-mapping** — `Map<T,T>(obj)` creates a copy without configuration |
48 | 58 | - **EF Core ProjectTo** — `query.ProjectTo<Src, Dest>(config)` translates to SQL |
49 | 59 | - **DI integration** — `services.AddEggMapper(assembly)` with scoped IServiceProvider |
50 | 60 | - **EF Core proxy support** — base-type + interface walk for lazy-loading proxies |
51 | | - |
52 | | -## Documentation |
53 | | - |
54 | | -- [Quick Start](quick-start) — Install, DI, Profiles, Collections |
55 | | -- [Getting Started](Getting-Started) — Detailed walkthrough |
56 | | -- [Configuration](Configuration) — MapperConfiguration, Profiles, Validation |
57 | | -- [API Reference](API-Reference) — All Map overloads, ForMember options |
58 | | -- [Advanced Features](Advanced-Features) — ProjectTo, Open Generics, Inheritance, Hooks |
59 | | -- [Dependency Injection](Dependency-Injection) — ASP.NET, Blazor, gRPC, Windows Service |
60 | | -- [Profiles](Profiles) — Organizing mappings into profile classes |
61 | | -- [Migration Guide](Migration-Guide) — Runtime to Compile-Time tiers |
62 | | -- [Performance](Performance) — Benchmark results vs all competitors |
| 61 | +- **Patch mapping** — partial updates with `Patch<S,D>(source, dest)` |
| 62 | +- **Open generics** — `CreateMap(typeof(Result<>), typeof(ResultDto<>))` |
63 | 63 |
|
64 | 64 | ## Links |
65 | 65 |
|
|
0 commit comments