Dapper Extensions Reloaded started as a fork of Dapper Extensions but evolved into a stand-alone project over the last years, and diverged from the original in lots of ways. It complements Dapper by adding generic repository features and a predicate system, but tries to stay concise and focused with an attribute-based approach. It avoids convention-based details and too much "black magic" behind the scenes. Dapper Extensions Reloaded also adds a sophisticated logging system. The project is SQL Server-only.
For the full history and credit to the original authors, please take a look at the contributors and of course at the original project sites linked above.
PM> Install-Package DapperExtensionsReloaded
dotnet add package DapperExtensionsReloaded
- Update dependencies to latest versions: Dapper 2.0.90, Microsoft.Data.SqlClient 2.1.2.
- Major update of SqlClient results in a major version update of this library too, but it's not considered a hard breaking change (API stays the same).
- Add feature to separately control items per page and results to return when retrieving paged data. This is a breaking change because you have to re-arrange arguments in calls that use non-default arguments for transactions and/or command timeout.
- Update Dapper to version 2.0.30 (see https://stackexchange.github.io/Dapper/ for change log).
- As a result of the Dapper update, fixate reference to Microsoft.Data.SqlClient (i.e. remove legacy System.Data.SqlClient reference).
- Add feature to profile command execution using the monitoring DB connection.
- Update Dapper to 1.6.
- Update other dependencies (test projects)
- Minor code clean-up and removal of unused code.
- Fix handling of DBNull values in standard logger.
- Fix only call dispose of wrapped resources when applicable.
- Make MonitoringDbConnection type as well as its MonitoredDbConnection public to enable scenarios that need to access the underlying connection directly. Example: use bulk insert of SqlConnection.
- Add new logging feature based on proxies of connections and commands.
- Add set-based update operation, rename set-based delete operation.
- Add feature to define key columns by respective attribute.
- Add overload to get a single entity with predicate argument to avoid excessive use of reflection.
- Convert remaining APIs to async, remove synchronous APIs.
- Remove magic that arbitrarily chooses identity and key columns.
- Remove automatic GUID handling magic.
- Remove implicit object to predicate conversion magic.
- Remove logger in preparation of better implementation.
- Remove unused mapper features and semantics from configuration.
- Fix Xunit warnings and rework tests to make proper use of async features.
- Changed target framework to .NET Standard 2.0.
- Update all dependencies to latest version.
- More code clean-up.
- Changed target framework to .NET Standard 1.3
- Migrate unit tests to Xunit
- Minor code cleanup
- Move to VS2017 project format
- Add possibility to provide logger for SQL statements and parameters
- Add extension method to format DynamicParameters content as Json
- Add feature to Predicates static class to create ISort for a property name without using expressions.
- Fix issue with Predicates' group method to actually set a "real" IList that supports adding further entries.
- Hotfix to replace false binary in package
- Remove all flavors and features except SQL Server and attribute-based mapping
- Create highly restricted version with limited surfaced API (most implementation hidden as internal)
- Update to .NET 4.5
- Update dependencies to latest versions
- Add attribute based mapper and make it default
- Fix minor bugs
- See original change log at the original authors' repositories: Thad Smith and Page Brooks, Jörg Battermann