Skip to content
Mike Mogosanu edited this page Jan 23, 2019 · 59 revisions

ver. 4.2.0

  • Added new helpers
  • fixed enum handling bugs when using the strongly typed builder

ver. 4.0.2

  • fixed issue when inserting row, with no PK column configured

ver. 4.0.0

  • Added more configuration options when using a class as a data source/destination. These are used by the helpers.
  • Removed everything related to table creation
  • Transient resilience is a strategy that can be configured
  • Added quick update helper
  • Added quick query using formattable strings

ver 3.4.0

  • Transient resilience is implicit now, you don't need anymore to wrap everything in ugly lambdas (that are obsolete now). It just works.
  • Simplified configuration to support multiple dbs. See the updated example.
  • Added option to override the connection string everytime you're creating a new connection.
  • Everything related to table creation or data migration is marked obsolete.

ver. 3.3.5

  • refactored db provider expressions support

ver. 3.3.4

  • Fixed concurrency bug in TableInfo cache #93

ver. 3.3.3

  • Fixed concurrency bug in TableInfoFactory

ver. 3.3.2

  • Bug fix #89 - Thanks @gideonkorir

ver. 3.3.1

  • Updated for .net Core RTM

ver. 3.3.0

  • fixed bug in multipoco mapping
  • added alternative syntax
  • HandleTransientErrors(Async) marked as obsolete, replaced with RetryOnTransientError(Async)

ver. 3.2.1

  • bugfix in WhereIf method

ver. 3.2.0

  • datetime2 is default DateTime type for SqlServer
  • added methods to sql builder to write sql only if a specified condition is true

ver. 3.1.0 (unreleased)

  • added option to use '*' when selecting all columns

ver. 3.0.1

  • .NET Core RC2 support

ver. 3.0.0

  • Lots of things changed. See readme.

ver. 2.3.14

ver. 2.3.13

  • nuget spec file update

ver. 2.3.12

  • Sql is cached per provider now

ver. 2.3.11

  • fixed case when using Contains on a empty list #54. Thanks @wolfascu

ver. 2.3.10

  • fixed bug (.net 4.6) in handling enums when writing criteria expressions. It now uses the underlying (int) instead of string.

ver. 2.3.6

  • fixed bug in Insert(string, object). The bug made the helper ignore any [Ignore],[QueryOnly],[InsertAsString]

ver. 2.3.5

  • properly fixed a previous bug

ver. 2.3.4

  • fixed buddy class support bugs

ver. 2.3.3

  • fixed nuget package's dependency version

ver. 2.3.2

  • fixed sql injection bug when using string expressions involving Contains , StartsWith , EndsWith

ver. 2.3.1

  • fixed bugs

ver. 2.3.0

  • added Upsert method
  • to keep the query compatible with other db engines, the identifiers (columns, table names etc) should be escaped with the specific engine rules. For ease of use, you can write the sql in a 'neutral' way marking the identifiers you want escaped. Example: select $id from $table -> select [id] from [table]

This feature is not automatically enabled (for performance reasons), you either need to call db.EscapeSql(sql) Ex: db.Query(db.EscapeSql(sql),param1) or set to true SqlFuDao.EscapeMarkedIdentifiers

  • PagedQuery now handles correctly long counts
  • fixed paging bug involving 'order by'

ver. 2.2.1

  • Sqlite DDL bugs fixed (thanks CharlesW)
  • Other bug fixing

ver. 2.2.0

  • Added support for Poco buddy classes (thanks CaspianCanuck)

ver. 2.1.0

  • Added support for multiple resultsets (thanks Matt Sollars)
  • Added simple Query()
  • SqlFuConnection can use an existing DbConnection
  • Fixed known bugs
  • POCOs can have non public constructors
  • Can map to private properties

ver. 2.0.0

  • Breaking changes - not compatible with v1
  • Replaced DbAccess (IAccessDb) with DbConnection
  • All functionality is implemented via extension methods
  • Targets .net 4.5 also.
  • Added async methods (.net 4.5 only).
  • Improved performance, especially when dealing with dynamic.
  • Misc bugs fixed.

ver. 1.4.1

  • Escape identifier method accounts for user already escaped names

ver. 1.4.0

  • Improved performance (~10%)
  • Handled a case with PagedQuery where the db provider returned the result of "select count(*)" as long
  • Added extension CreateTable to IAccessDb

ver. 1.3.1

  • forgot to add Query extension method

ver. 1.3.0

  • dropped Oracle support
  • added extension methods for specifying criteria using typed expressions
  • fixed Insert for SqlCe

ver. 1.2.1

  • updated for CavemanTools 1.6.1
  • MySql provider will store DateTimeOffset as DateTime

ver. 1.2.0

  • Added database migrations support
  • Added fluent interface for DDL generation support (SqlServer, Mysql, Postgres, partial Sqlite )
  • Added support for stored procedures
  • You can set separator for detecting multi poco mapping
  • DbAccess now implements IAccessDb interface, much easier to unit test
  • (possible breaking change) Renamed DBType to DbEngine for better clarity.
  • Renamed ExecuteScalar to GetValue. You can still use the old method, but it's marked as obsolete
  • The DefaultComplexTypeMapper (aka multi poco mapper) now knows how to map Nullable(T),TimeSpan,Enum, CultureInfo.
  • Misc bugs fixed and improvements.

ver. 1.1.0

  • Added support for SQLite and SQlServerCE 4
  • Added Transaction Isolation Level support