Release 6.0.0 RC 1
Finally we have a new version of Linq To DB almost done.
Bases on amount and severity of reports for this release we will decide later wether we need another RC before final release.
For any questions regarding v6 migration, please use this discussion
Main changes in this (RC1) release:
- [breaking] we reorganized
Linq To DBnamespaces into two categories: general use public APIs inLinqToDB.*and internal APIs (mostly intended for external provider development or advanced functionality) inLinqToDB.Internal.*namespaces. If you cannot find some types/methods - check their new location in source or ask here - [breaking] async
IEnumerableextensions were moved fromLinqToDBnamespace toLinqToDB.Asyncto simplify resolve of naming conflicts for users who use other libraries with same extensions - [breaking] drop .NET 6 and EF.Core 6 support
- a lof of work were done to improve translation of predicates (especially complex) to SQL:
- complex predicate expressions that could fail translate before to SQL for all or for specific databases now should work
- a lot of new optimizations implemented to simplify predicates
- fixed support for mappings with
IsPredicate=trueoption, done usingSql.FunctionAttributeorSql.ExtensionAttributeattributes - fixed a lot of issues in predicate generation, including fixes to nullability tracking for nested predicates
- multiple improvemens in JOINs generation:
- automatically promote
LEFTjoins toINNERwhen query filters effectively already remove empty records - improve nullability tracking for
LEFTjoins
- automatically promote
- [all databases] fix/add translations of
string.PadLeft,string.LengthandGuid.ToString()members - add
Sql.Parameter(x)andSql.Constant(x)helpers to explicitly specify value translation type (as parameter or as literal) for specific value FromSqlScalarAPI now expects user to usevaluealias for column name. It will be generated automatically for databases, which support column aliases specification in subquery alias clause. For other databases it should be specified by user in SQL.- added
UseOptionsAPI on data context to temporary change context settings - added initial support for new SQL dialects: SQL Server 2025 and PostgreSQL 18
- [EF.Core] import enum mappings for PostgreSQL from EF.Core model
- [RemoteContext] released new remote context transports:
HttpClient(server, client) andSignal/R(server, client) - a lot of other bugfixes and improvements
For full list of changes check this page
New Contributors
- @denis-tsv made their first contribution in https://github.com/linq2db/linq2db/pull/4916
- @rameel made their first contribution in https://github.com/linq2db/linq2db/pull/4918
- @ffried made their first contribution in https://github.com/linq2db/linq2db/pull/4957
- @Akilaydin made their first contribution in https://github.com/linq2db/linq2db/pull/4970
- @GulpakMarina made their first contribution in https://github.com/linq2db/linq2db/pull/4868
Full Changelog: https://github.com/linq2db/linq2db/compare/v6.0.0-preview.4...v6.0.0-rc.1