ELMapper.NET
8.1.1
dotnet add package ELMapper.NET --version 8.1.1
NuGet\Install-Package ELMapper.NET -Version 8.1.1
<PackageReference Include="ELMapper.NET" Version="8.1.1" />
<PackageVersion Include="ELMapper.NET" Version="8.1.1" />
<PackageReference Include="ELMapper.NET" />
paket add ELMapper.NET --version 8.1.1
#r "nuget: ELMapper.NET, 8.1.1"
#:package ELMapper.NET@8.1.1
#addin nuget:?package=ELMapper.NET&version=8.1.1
#tool nuget:?package=ELMapper.NET&version=8.1.1
📘 ELMapper.NET
Lightweight .NET object mapper for object-to-object and collection mapping.
🚀 Overview
ELMapper.NET is a simple and fast .NET object mapper that uses reflection to map between objects at runtime.
It is designed for predictable and explicit mapping behavior with no silent mapping rules.
⚙️ Features
- Object → Object mapping
- Collection mapping
- Case-insensitive property matching
- Runtime property exclusion (Ignore)
- Fail-fast validation of configuration
- Lightweight (no external dependencies)
📦 Installation
dotnet add package ELMapper.NET
🚀 Usage
Default mapping
await context.BankEmployees.ToList()
.MapIEnumerableAsync<BankEmployee, BankEmployeeVM>();
Mapping with options
await context.BankEmployees.ToList()
.MapIEnumerableAsync<BankEmployee, BankEmployeeVM>(
new MappingOptions
{
Ignore = new List<string> { "LastName" }
});
Mapping with multiple ignored properties
await context.BankEmployees.ToList()
.MapIEnumerableAsync<BankEmployee, BankEmployeeVM>(
new MappingOptions
{
Ignore = new List<string> { "UserType", "LastName" }
});
🔄 Mapping Behavior
✔ Property Matching
Properties are matched by name
Matching is case-insensitive
Only matching properties are mapped
✔ Ignore Feature
Properties listed in Ignore are excluded from mapping
Ignore properties must exist in source type
Invalid configuration throws exception (fail-fast behavior)
⚠️ Execution Model
Works only on in-memory objects
Does not support IQueryable projection
Mapping is performed using reflection
🧠 Design Philosophy
✔ Predictable behavior
✔ Fail-fast validation
✔ No silent mapping rules
✔ Simple and transparent design
📄 License
This project is licensed under the MIT License.
Copyright (c) 2026 Elvis Hodzic
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files, to deal in the Software without restriction.
🔗 Repository
https://github.com/elvish91/ELMapper.NET
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. 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. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
- Improved case-insensitive property mapping consistency
- Enhanced Ignore validation with fail-fast behavior
- Added strict validation for invalid or empty ignore properties
- Improved mapping stability and internal resolution logic
- No breaking changes