Dommel Versions Save

CRUD operations with Dapper made simple.

v2.1.0

3 years ago
  • Ignore properties with [NotMapped] attribute as well
  • Fix auto multi mapping with one-to-many relations
  • Add nullable annotations

v2.0.0

4 years ago

Dommel 2.0 is finally here :tada:

After two years Dommel 2.0 is finally released. It comes with a bunch of new features and bugfixes. There are some breaking changes as well. However, upgrading from 1.x shouldn't result in too much issues as most of the breaking changes revolve around the extensibility points.

New features

  • Native JSON support with a new package: Dommel.Json. #134
  • Automatic multi-mapping support (experimental) https://github.com/henkmollema/Dommel/pull/75#issuecomment-376077276.
  • [Table] and [Column] attribute support.
  • [Ignore] attribute support.
  • Allow non-generated primary keys. #128
  • Paging support with GetPaged / GetPagesAsync and SelectPaged / SelectPagedAsync.
  • like-queries for strings and in-queries for arrays using Contains in Select.
  • From<T> method which support building a query. This is an experimental feature. #111
  • InsertAll / InsertAllAsync method to insert a collection of entities.
  • Projections support, e.g. Project<Foo>(x => new { x.Bar, x.Baz, x.Qux });. #85

Breaking changes

  • Dommel only targets .NET Standard 2.0.
  • Dommel has been upgraded to use Dapper 2.0.
  • Some classes have been removed from the DommelMapper partial class. E.g. ISqlBuilder, IKeyPropertyResolver, etc.
  • A few breaking changes have been made to the ISqlBuilder interface.
    • The PropertyInfo keyProperty has been removed from the BuildInsert method.
    • The string BuildPaging(string? orderBy, int pageNumber, int pageSize) method has been added to support paging.
    • The string QuoteIdentifier(string identifier) has been added to support adding quotes around database identifies such as tables and columns.
    • The string LimitClause(int count) method has been added to support creating limit clauses for paging purposes.
  • The IKeyPropertyResolver interface has been changed to support non-generated primary keys and simplify support for multiple primary keys.
  • The KeyPropertyInfo class has been renamed to ColumnPropertyInfo and is now returned by both IPropertyResolver and IKeyPropertyResolver.

Special thanks to the contributors for logging issues and proposing pull-requests!

v2.0.0-beta7

4 years ago

v2.0.0-beta6

4 years ago
  • Use PrefixParameter in BuildMultiMapQuery - #132
  • Add a factory to create SQL expressions to allow custom implementations
  • Allow adding SQL builder using the connection name
  • Make SQL builders and resolvers internal for testing
  • Add Dommel.Json with JSON support #134
  • Update to Dapper 2.0
  • Align package targets with Dapper: drop .NET 4.5.2 and .NET Standard 1.3 target / target .NET 4.6.2 and .NET Standard 2.0
  • Add nullable annotations

v1.11.0

4 years ago
  • Allow specifying both start and end escape char
  • Add Count method
  • Update Dapper package version

v2.0.0-beta5

4 years ago
  • Fix is (not) null expressions #108
  • Allow variables in string-contains expressions
  • Add experimental From-queryies #111
  • Allow non-generated primary keys #128
    • This introduces a breaking change in IKeyPropertyResolver and Resolvers.KeyProperty.
  • Pass primary key columns to multimapping query #129
  • Add [Ignore] attribute support #130
  • Automatic multi-mapping for GetAll #131

v2.0.0-beta4

5 years ago
  • Remove deprecated EscapeCharacterStart and EscapeCharacterEnd settings
  • Add support for projections - #85
  • Add PrefixParameter method to ISqlBuilder - #92
  • Allow returning generated GUID as priamry key
  • Pass missing transaction parameter to several methods - #95, #100
  • Escape table and column names with brackets for SQL Server/SQL Server CE - #96
  • Include all key columns for update and delete statements
  • Support for IN-clause - #103
  • Fix a caching bug where the same column or table name was used for nested types

v2.0.0-beta3

5 years ago
  • Like queries: Select<Product>(p => p.Name.Contains("bike")
  • Don't add null instances to collections when performing automatic multi-map
  • Added missing @ to parameters in SqlExpression<T>
  • InsertAll (and InsertAllAsync) method to insert a collection of entities
  • Added non-async Get methods with automatic multi mapping
  • Perform caching per connection type to allow querying multiple database systems in one application
  • Added QuoteIdentifier method to ISqlBuilder which optionally adds quotes around identifiers such as column and table names
  • Added integration tests suite on SQL Server, MySQL and PostgreSQL

v2.0.0-beta2

5 years ago

v2.0.0-beta1

6 years ago

First beta release of Dommel v2