Releases: PawelGerr/Thinktecture.EntityFrameworkCore
Releases · PawelGerr/Thinktecture.EntityFrameworkCore
10.2.0
New features
- Window function
NTile— added theNTILEwindow function (EF.Functions.NTile(...)).
Per-provider behavior: SQL Server requires anORDER BYand returnsbigint; PostgreSQL and
SQLite returnintand theORDER BYis optional. - Static member translation in queries — static members (e.g. smart-enum values like
Status.Published, constants) are now translated in supported query and bulk-operation value
expressions.
Other
- Added an AI assistant skill to the repository to aid contributors.
10.1.0
New features
- PostgreSQL provider — new
Thinktecture.EntityFrameworkCore.PostgreSQLpackage (Npgsql),
bringing bulk operations, temp tables, window functions, collection parameters, and nested
transactions to PostgreSQL. - Bulk insert/update from query —
DbSet<T>.BulkInsertAsync(sourceQuery, …)and
DbSet<T>.BulkUpdateAsync(sourceQuery, …)on all providers. Inserts/updates rows directly from
anIQueryable<TSource>server-side (INSERT INTO … SELECT …/UPDATE … FROM (…)), with a
fluentMap/Setbuilder, optional filter, and table/schema overrides.
⚠️ Source-breaking API changes
These are consequences of the affected-row count now flowing through the bulk APIs:
IBulkInsertExecutor.BulkInsertAsync<T>now returnsTask<int>(number of inserted rows)
instead ofTask. Custom implementations must update their signature.TempTableQuery<T>'s 2-arg constructor was replaced by a 3-arg constructor
TempTableQuery(IQueryable<T> query, ITempTableReference reference, int numberOfInsertedRows),
backed by the newITempTableQuery<T>.NumberOfInsertedRows. Callers that construct
TempTableQuery<T>directly must pass the row count (e.g. the affected-row count of their own
insert command).
10.0.2
10.1.0-beta02
Fixes
- [PostgreSQL] Use
NpgsqlSqlNullabilityProcessorto fix null-handling in generated SQL.
10.1.0-beta01
New features
- PostgreSQL provider (experimental) — initial
Thinktecture.EntityFrameworkCore.PostgreSQL
package (Npgsql). - Bulk insert/update from query —
DbSet<T>.BulkInsertAsync(sourceQuery, …)and
DbSet<T>.BulkUpdateAsync(sourceQuery, …), inserting/updating rows directly from an
IQueryable<TSource>server-side.
⚠️ Source-breaking API changes
IBulkInsertExecutor.BulkInsertAsync<T>now returnsTask<int>(number of inserted rows)
instead ofTask.TempTableQuery<T>'s 2-arg constructor was replaced by a 3-arg constructor
TempTableQuery(IQueryable<T> query, ITempTableReference reference, int numberOfInsertedRows),
backed by the newITempTableQuery<T>.NumberOfInsertedRows.
10.0.1
10.0.0
Upgraded to EF Core 10 / .NET 10.
⚠️ Breaking changes
- Removed the
LeftJoinextension method — EF Core now supportsLeftJoinnatively. Use the
built-in method instead.
Other
- [SQL Server] Temp tables and scalar collection parameters with
decimalcolumns that have no
precision/scale configured now default todecimal(38,18).