ExIgniter.ObjectMapper

This is is an intelligent, refactoring safe object mapping library that automatically maps objects to each other event when the property names are not exactly the same.

2
0
C#

Here’s an updated README.md for ExIgniter.ObjectMapper version 3.0.2, highlighting new features and improvements.



ExIgniter.ObjectMapper 3.0.2

ExIgniter.ObjectMapper is an intelligent, high-performance object mapping library for .NET, now even more powerful and streamlined.

Version 3.0.2 delivers:

  • πŸš€ Enhanced performance through advanced optimization techniques.
  • πŸ›‘οΈ Richer configuration options for fine-grained control over mapping behavior.
  • 🧠 Smarter, more intuitive property matching to reduce boilerplate.
  • πŸ”’ Robust safety features including circular reference detection and recursion limits.
  • 🧱 Comprehensive support for collections, complex object graphs, and nested structures.

✨ Why ExIgniter?

  • βœ… Zero-configuration for the vast majority of use cases.
  • ⚑ Significantly faster than previous versions in benchmarks.
  • 🌟 Intelligently matches common property name variations automatically.
  • πŸ”„ Handles nested objects, collections, and dictionaries with ease and safety.
  • πŸ›‘οΈ Security-first design: features like cycle detection, recursion depth limits, and type whitelisting prevent common mapping pitfalls.

πŸ“¦ Installation

Install-Package ExIgniter.ObjectMapper

Supports: .NET Standard 2.1+, .NET 6+, .NET 7+, .NET 8+


πŸ”‘ Key Features

πŸš€ Performance Optimized

  • Refined reflection caching: Even quicker lookups.
  • Reduced allocations: Minimizing garbage collection overhead.
  • Optimized mapping strategies: Faster data transfer.

🧠 Intelligent Mapping

Automatically resolves common mismatches and handles complex scenarios:

  • "UserName" β†’ "Username"
  • "Addr1" β†’ "AddressLine1"
  • "ID" β†’ "Id"
  • Customizable conventions for unique naming patterns.

πŸ” Safe and Secure

  • Advanced cycle detection: Prevents infinite loops in object graphs.
  • Configurable max depth limit: Safeguards against runaway recursion.
  • Whitelisted types: Ensures only safe types are instantiated during mapping.

🧰 Comprehensive Collection Support

Seamlessly maps diverse collection types:

  • Arrays, Lists, HashSets
  • Dictionaries
  • Queues and Stacks
  • Custom collection handling for specific requirements.

πŸ“Š Benchmarks (v2.0 vs v3.0)

Scenario v2.0 v3.0 Speedup (approx.)
Simple Object 50ms 35ms 1.4Γ—
Complex Graph 140ms 95ms 1.5Γ—
Collection (1k) 70ms 45ms 1.5Γ—

Benchmarks were performed using representative DTOs and nested entities on .NET 8. Actual results may vary.


πŸ“š Documentation

  • Comprehensive API reference: Detailed usage for every feature.
  • Configuration guide: Master advanced mapping scenarios.
  • Migration steps: Smoothly upgrade from v2.x to v3.0.

πŸ”— View Docs


🀝 Contributing

We welcome contributions from the community!

πŸ“„ License

MIT License β€” free for commercial and personal use.


Happy mapping with ExIgniter.ObjectMapper 3.0! 🎯