Simple Get, GetList, GetListPaged, Insert, Update, Delete, DeleteList, and RecordCount extensions for Dapper. Uses smart defaults for attribute free classes but can be overridden as needed.
By default uses Id column as the primary key but this can be overridden with an attribute
By default queries the table matching the class name but this can be overridden with an attribute
By default queries the column matching the property name but this can be overridden with an attribute
- Supports SQL Server, PostgreSQL, SQLite, and MySQL
- Includes async methods when targeting .Net 4.5
See the version list below for details.
Full documentation can be found at https://github.com/ericdc1/Dapper.SimpleCRUD/
* version 1.3.0: Support for multiple schemas, non int primary keys. Fixed issue with editable attribute annotations. Made enums be considered "editable" so you can have integers in the database and represent them as enums in the code and have SimpleCRUD map them without extra pain.
* version 1.4.0: Switched to using Nullable.GetUnderlyingType(type) so we don't need to explicitly check for all nullable types. This also has the side effect of fixing checks for nullable enums without the editable attribute.
* version 1.4.1: Added support for short and long primary key types on insert method
* version 1.5.0 Target .Net 4.5, support for PostgreSQL, SQL Server now uses scope_identity on insert rather than @@identity. Add support for GUID primary keys
* version 1.6.0 Target .Net 4.0 and 4.5 and add async support / remove SQLCE support Special thanks to https://github.com/Prnda1976 for help with the pull request backlog
* version 1.7.0 Added column attribute and made gets specify column names rather than select * . Changed GUID to autogenerate when the property value is empty. Ability to change database dialect from SQL Server to PostgreSQL.
* version 1.8.0 Added support and tests for SQLite. Added additional GetList method that accepts a raw SQL where clause for more advanced queries.
* version 1.8.2 Added logo, updated package description
* version 1.8.3 Fix for async get method, added additional tests around async methods
* version 1.8.4 Fix for custom column name on primary key in get and delete methods
* version 1.8.5 Added support for ReadOnly attribute on properties which allows selecting it from the database but ignores it on inserts and updates
* version 1.8.6 Allow a column named Id column to not be considered a key when another [Key] is specified
* version 1.8.7 Fix for GUID primary key named Id
* version 1.9.0 Added GetListPaged, DeleteList, and RecordCount methods and support for specified value in primary key
* version 1.9.1 MySQL Support
* version 1.9.2 Fix for async insert with specified value in primary key
* version 1.9.3 Fix for issue with GetPagedList with custom column name for primary key - Thanks haleaurelian. Added DeleteList with anonymous object
* version 1.10.0 Added IgnoreUpdate, IgnoreInsert, and IgnoreSelect attributes
* version 1.11.0 Added resolvers PR, typed attributes, merged recordcount where conditions PR, performance improvements PR
* version 1.11.1 Bug fix for resolvers to allow attributes from different namespaces (SimpleCRUD and Data Annotations)
* version 1.12.0 Added notmapped attribute to match DataAnnotations (thanks Mattykins). Allow insert with string primary key (thanks xalikoutis)
* version 1.13.0 Accept parameters on getlist, getlistpaged, deletelist, recordcount, and matching async methods
- Dapper (>= 1.42.0 && < 2.0.0)