Dapper.FastCrud 2.3.0

The fastest micro-orm type extension for Dapper is built around essential features of the C# 6 /VB 14 that have finally raised the simplicity of raw SQL constructs to acceptable maintenance levels.
These features leave no chance to mistypings or problems arising from db entity refactorings.

The package contains .NET 4.5 and 4.6 DLLs, one of which will be installed based on the target framework in your project.
There is no need to target .NET 4.6, but it is mandatory to use VS2015 or an equivalent build environment.
For .NET 4.5, the package will also install the dependency 'StringInterpolationBridge', which contains the polyfills required when using string interpolation with the C# 6 compiler in VS 2015.

Features:
----------
- Support for LocalDb, Ms Sql Server, MySql, SqLite, PostgreSql
- Composite primary keys are supported
- Multiple entity mappings are supported, useful for partial queries in large denormalized tables and data migrations between different database types.
- All the CRUD methods accept a transaction, a command timeout, and a custom entity mapping.
- Fast pre-computed entity queries
- A useful SQL builder and statement formatter which can be used even if you don't need the CRUD features of this library.
- A generic T4 template for C# is also provided for convenience in the NuGet package Dapper.FastCrud.ModelGenerator.
Code first entities are also supported which can either be decorated with attributes, have their mappings programmatically set, or using your own custom convention.

Please  check the project site for usage and benchmarks.

There is a newer version of this package available.
See the version list below for details.
Install-Package Dapper.FastCrud -Version 2.3.0
dotnet add package Dapper.FastCrud --version 2.3.0
<PackageReference Include="Dapper.FastCrud" Version="2.3.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Dapper.FastCrud --version 2.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Dapper.FastCrud, 2.3.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install Dapper.FastCrud as a Cake Addin
#addin nuget:?package=Dapper.FastCrud&version=2.3.0

// Install Dapper.FastCrud as a Cake Tool
#tool nuget:?package=Dapper.FastCrud&version=2.3.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

Release Notes

2.3.1:
- Duplicate delimiters avoided if an already delimited identifier was passed as an alias.

2.3.0:
- BREAKING CHANGE: the logic for properties marked with DatabaseGeneratedAttribute has changed.
- BREAKING CHANGE: the fluent way of specifying database generated values for the columns, including default values, has changed.
- BREAKING CHANGE: entities are being updated with the computed values on return from an UPDATE.
- NotMappedAttribute is now supported.
- DatabaseGeneratedDefaultValueAttribute was introduced to mark the properties bound to columns having default values that should be retrieved from the database.
- More information about these breaking changes can be found on the project site.

2.2.x:
- BREAKING CHANGE: due to the large number of arguments, in some cases, a new definition was added for all the extension methods and the existing methods were marked as obsolete with some of them losing argument optionality.
- full support for table and column name overrides.
- SQL delimiters used throughout.
- PostgreSql delimiters enforced.
- default library conventions, easy to override if needed.
- default SQL statement options.
- enhanced SQL builder with a SQL formatter provider, with support for formatting specifiers for table (T), column (C) or table and column (TC).
- support for the MetadataType attribute.
- fixed the INSERT statement in an MsSql table with triggers.
- fixed SKIP and TOP clauses for MsSql and SqLite.
- added bulk update and delete.

2.1.x:
- fixed missing dependency on Dapper.
- .NET 4.5 polyfills for string interpolation were removed and a library dependency was added instead.
- async methods added.
- count method added.
- fix for database column name overrides.
- easier entity registration for code-first.

2.0.x:
- All the extensions were moved to Dapper.FastCrud namespace to avoid clashes with other extensions.
- Configuration was moved to the static class OrmConfiguration.
- The T4 template was moved into a different package.
- Runtime mappings for code first entities.
- Simultaneous multiple mappings per entity type.
- Rudimentary SQL builder with alias support.

1.1.x:
- Added support for MySql and SqLite.
- Entities that have primary keys not auto-generated by the DB are now supported.
- Added support for PostgreSql dialect.

1.0.x:
- Updated T4 template for database generated fields and composite primary keys.
- Better handling of database generated fields.
- Added the data annotation assembly as reference on installation.

NuGet packages (8)

Showing the top 5 NuGet packages that depend on Dapper.FastCrud:

Package Downloads
Smooth.IoC.Dapper.Repository.UnitOfWork
The package Provides a solution for the Repository and UnitOfWork patterns together with inversition of control. On the project site there are examples of Autofact, Castle.Windsor, Ninject, Simpleinjector, StructureMap, and Unity integration. The IoC framework is not an issue... It is ment to integrate nice and smooth like... The project uses tor its repository work Dapper as ORM and Dapper.FactCRUD for fluentness. But you can use is as a foundation and with any IDbConnection and IDbTransient framework you like. The library gives you the building blocks to: * Create Sessions from the IDbFactory in your methods, IDbFactory should be injected into your class's. As Session extends IDbConnection and will Open on the factory spawning the session and dispose the connection on disposal of the connection. * Your Sessions can create UnitOfWork's. As Session extends IDbConnection and will Open on the factory spawning the session and dispose the connection on disposal of the connection. * If your logic just needs "just a" UnitOfWork with a session that has the same scope, the factory can create it for you. * The IRepository and abstract concrete class should be used on your individual repository classes to provide simple and basic calls. But ofcasue you can add all the queries you want into your Repositories and use the dapper and dapper.FastCRUD (or any other extensions) functionality provided to you. * The repository abstract classes use Dapper.FastCRUD to give you a fluent ORM experience with the most common calls. * This library does not lock you to using dapper and FastCRUD, you can use any library you like that extends IDbConnection and IDbTransation, and still use the IDbFactory, ISession and IUnitOrWork. * Implemented for .net 4..0, .net 4.5.2, .net 4.6.1, .net 4.7.1+, .net 1.6 standard, .net 2.0 standard+.
Tolitech.Modules.Base.Data
Biblioteca base para a camada Data. Esta é uma biblioteca utilizada em todos os projetos Tolitech, inclusive os gerados pela ferramenta Code Generator. Mais informações em http://www.codegenerator.com.br/
Proactive.DataRepository
Proactive data repository NetStandard package.
Cql.Core.SqlServer
A common library SQL server.
DataQI.Dapper.FastCrud
Data Query Interface it's Dapper.FastCrud provider that use infraestructure provided by DataQI.Commons and it turns your Data Repositories a live interface.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version History

Version Downloads Last updated
2.5.0.39 329,072 4/19/2018
2.4.1 154,445 10/27/2016
2.4.0 6,103 9/21/2016
2.3.2 7,712 2/9/2016
2.3.0 1,388 1/2/2016
2.2.0 1,315 12/8/2015
2.1.2 1,288 10/30/2015
2.1.0 1,173 9/18/2015
2.0.0 1,318 6/1/2015
1.1.1 877 5/21/2015
1.1.0 902 5/21/2015
1.0.2 1,404 5/18/2015
1.0.1 990 5/16/2015
1.0.0 908 5/16/2015
Show less