Releases: DataObjects-NET/dataobjects-net
Releases · DataObjects-NET/dataobjects-net
7.1.3
- [main] Addressed race condition issue with TranslatorState.NonVisitableExpressions
- [main] Improved working with nullable enum constants in queries
- [main] Improved compatibility of .ToListAsync/.ToArrayAsync/.ToHashSetAsync/.AsAsyncEnumerable extension methods with EntitySet
- [postgresql] Improved database structucture extraction
- [postgresql] Addressed certain cases of decimal results of aggregate operations being unable to fit to .NET decimal
7.0.6
- [main] Addressed issue of not visiting grouping expression correctly which appeared in previous version
- [mysql] Updated client library package to version 8.0.31
- [postgresql] Updated client library package to version 4.1.14
6.0.14
- [main] Addressed issue of not visiting grouping expression correctly which appeared in previous version
- [main] Addressed certain issues of incorrect query optimization when it contains multiple In() calls
- [main] In addition to previous version, more cases of incorrect join type usage addressed
- [firebird] Updated client library package to version 6.7.0
- [mysql] Updated client library package to version 6.10.9
- [oracle] Updated client library package to version 2.18.151
- [postgresql] Updated Npgsql package to version 4.0.17 which patches some vulnerability issues
- [sqlserver] Updated client library package to version 4.8.6
- [sqlite] Updated client library package to version 1.0.119
7.1.2
- [main] Addressed issue when cycles in Entity dependency graph were not detected
- [main] Introduced DomainConfuguration.ExtensionConfigurations as unified configuration storage for extensions' configurations
- [main] DomainConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [localization] LocalizationConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [localization] ConfigureLocalizationExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
- [reprocessing] ReprocessingConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [reprocessing] ConfigureReprocessingExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
- [security] SecurityConfiguration.Load() method now has overloads which gets abstractions from Microsoft.Extensions.Configuration API
- [security] ConfigureSecurityExtension() extensions for DomainConfiguration are added, check ReadMe/documentation for examples of usage
7.0.5
- [main] Some constructors of SqlPersistTask marked Obsolete, new constructors provided
- [main] Some constructors of CalculateProvider marked Obsolete, new constructors provided
- [main] Some constructors of AggregateProvider marked Obsolete, new constructors provided
- [main] Updated BitFaster.Caching package
- [main] Certain optimizations connected to query translation made
6.0.13
- [main] Fixed certain cases of bad translation of casts via 'as' operator in LINQ queries
- [main] Addressed certain issues of translation connected with comparison with local entity instance within LINQ queries
- [main] Fixed rare issues of incorrect translation of filtered index expressions including conditional expressions
- [main] Join/LeftJoin is denied to have the same expression instance for both inner/outer selector
- [main] Addressed issue when wrong type of join was chosen when .First/FirstOrDefalult() method was used as subquery
- [main] Added dedicated exception when RenameFieldHint.TargetType exists in current model but absent in storage model
- [main] Xtensive.Sql.Model.NodeCollection.Add() throws understandable exception in case of duplicate name of item
- [postgresql] Fixed issue of incorrect translation of conditional expressions including comparison with nullable fields
7.2.0 Beta 1
- [main] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [main] Some exceptions' serialization members were marked obsolete in NET8 library
- [main] Unused Xtensive.Collections.PriorityQueue is removed
- [main] Xtensive.Orm.Rse.Providers.Provider.Sources has changed return type to IReadOnlyList, as well as ctor parameter
- [main] SqlInsert.Values became obsolete and no longer in use. Use ValueRows collection to add value rows
- [main] DomainConfiguration.MaxNumberOfConditions is introduced
- [main] SqlDml.Truncate() is introduced.
- [main] WellKnown.MaxNumberOfConditions became obsolete, use new DomainConfiguration.MaxNumberOfConditions if needed
- [main] TypeHelper.GetSingleConstructor() and .GetSingleConstructorOrDefault() are marked obsolete
- [main] Session.DisableSaveChages() methods return null value in more cases. See methods' summaries
- [main] DirectSessionAccessor.OpenSystemLogicOnlyRegion() returns disposable struct instead of IDisposable
- [main] OperationRegistry's Disable/EnableSystemOperationRegistration methods return disposable struct instead of IDisposable
- [main] Temporary tables cleanup now uses TRUNCATE instead of DELETE when possible
- [main] Temporary tables population is increased with multi-row inserts - 256 and 16 items per INSERT
- [main] PersistParameterBinding has new field RowIndex, use it for multi-row inserts if needed
- [main] TemporaryTableDescriptor changed interface to IMultiRecordPersistDescriptor, fully compatible with IPersistDescriptor
- [main] SqlNode.Clone() method now returns SqlNode to take advantage of C# covariant returns and reduce casts overhead
- [main] Xtensive.Orm.Rse.Providers.ProviderVisitor is now generic with type parameter of method results
- [main] Improved exception handling if some appered during asynchronous Session opening
- [main] Fixed some ColumnInfoCollection and NodeCollection leaks
- [main] Overall performance and memory officiency improvements
- [main] Obsolete LockableExtensions.EnsureNotLocked is removed
- [main] Obsolete DomainConfiguration.DefaultVersioningPolicy is removed
- [main] Obsolete TypeInfo methods (GetImplementors(), GetInterfaces(), GetDescendants(), GetAncestors() and GetRoot()) are removed
- [main] Obsolete TypeInfoCollection FindXXX methods are removed
- [main] Obsolete PersistRequest constructor removed
- [main] Obsolete PersistRequestBuilder.CreatePersistRequest() method is removed.
- [main] Obsolete StorageDriver.Compile(ISqlCompileUnit, NodeConfigruation) method is removed
- [main] Obsolete MethodHelper.GetMethod() and .GetConstructor() methods are removed
- [main] Obsolete TypeHelper.GetConstructor() and .GetInterfaces() are removed
- [main] Obsolete SqlCompilerConfiguration.SchemaMapping and .DatabaseMapping properties and constructor are removed
- [main] Obsolete SqlNodeActualizer class is removed
- [main] Obsolete SqlCompilerContext.SqlNodeActualizer property is removed
- [main] Obsolete XtensiveSql.Dml.Extensions.IsNullReference() extension method is removed
- [firebird] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [mysql] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [oracle] QueryInfo.MaxQueryParameterCount actualized, it is 65535 now
- [oracle] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [postgresql] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [postgresql] QueryInfo.MaxQueryParameterCount actualized, it is 65535 now
- [sqlserver] NET5 is removed from target frameworks, NET7 and NET8 are added instead
- [sqlite] NET5 is removed from target frameworks, NET7 and NET8 are added instead
7.1.1
- [main] Improved memory efficiency of cached queries.
- [main] One of PersistRequest's constructors marked obsolete since it is no longer in use
7.0.4
- [main] Updated BitFaster.Caching package to version 1.0.7
6.0.12
- [main] Addressed DataTypeCollection.Add method issue of wrong adding storage-specifid types to the collection
- [main] Addressed rare issue of entities expire management when SessionOption.NonTransactionalReads is on
- [main] Fixed issue of skipping persist or query tasks during batching
- [main] Improved error message when the entity user operates with is removed, now it contains type of entity
- [main] Fixed query root (Query.All()) reuse issue which might lead to bad columns mapping and exception
- [sqlserver] Sql error messages for British English are correctly parsed