Flavio.Santos.NetCore.ObjectMapping
1.0.0
There is a newer version of this package available.
See the version list below for details.
See the version list below for details.
dotnet add package Flavio.Santos.NetCore.ObjectMapping --version 1.0.0
NuGet\Install-Package Flavio.Santos.NetCore.ObjectMapping -Version 1.0.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Flavio.Santos.NetCore.ObjectMapping" Version="1.0.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Flavio.Santos.NetCore.ObjectMapping" Version="1.0.0" />
<PackageReference Include="Flavio.Santos.NetCore.ObjectMapping" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Flavio.Santos.NetCore.ObjectMapping --version 1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Flavio.Santos.NetCore.ObjectMapping, 1.0.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#addin nuget:?package=Flavio.Santos.NetCore.ObjectMapping&version=1.0.0
#tool nuget:?package=Flavio.Santos.NetCore.ObjectMapping&version=1.0.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
FDS.NetCore.ObjectMapping
A lightweight, fluent object mapping library for .NET with automatic property transfer and functional transformation support.
โจ Features
- ๐ Automatic property mapping by name and compatible type
- ๐ Enum โ String conversion support
- ๐งฉ Fluent
.Apply()
to customize transformations inline - ๐งช No setup, no DI, no registration required
- ๐ชถ Zero external dependencies
๐ก When to Use
Use FDS.NetCore.ObjectMapping
when you want:
- Fast, explicit, and simple mapping (especially for small or medium apps)
- Clean code with inline overrides using
.Apply()
- Avoiding the overhead of AutoMapper-style configuration
๐ Installation
dotnet add package Flavio.Santos.NetCore.ObjectMapping
โ Usage
1. Add using
using FDS.NetCore.ObjectMapping.Extensions;
2. Map automatically by property name
var dto = entity.MapTo<ReadTransactionDto>();
3. Add extra behavior with .Apply()
var transaction = dto
.MapTo<Transaction>()
.Apply(t => t.Id = Guid.NewGuid())
.Apply(t => t.CreatedAt = DateTime.Now);
๐ Enum Support
Supports string โ enum and enum โ string automatically.
Example:
Domain
public enum TransactionType { Credit, Debit }
public class Transaction
{
public TransactionType Type { get; set; }
}
DTO
public class ReadTransactionDto
{
public string Type { get; set; } = string.Empty;
}
Mapping:
var dto = transaction.MapTo<ReadTransactionDto>(); // Type will be "Credit"
๐งช Example: Create + Return
var transaction = dto
.MapTo<Transaction>()
.Apply(t => t.Id = Guid.NewGuid())
.Apply(t => t.CreatedAt = DateTime.Now);
await _repository.AddAsync(transaction);
var response = transaction.MapTo<ReadTransactionDto>();
return Result.CreateAdd(response);
๐ฆ Package Details
Property | Value |
---|---|
Package ID | Flavio.Santos.NetCore.ObjectMapping |
Target Framework | .NET 8 |
License | MIT |
Author | Flavio dos Santos |
Tags | object mapping, dto, transformation, fluent api |
Contact |
๐ License
Licensed under the MIT License.
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
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.