This package is no longer being developed.
For more information please refer to http://www.telerik.com/data-access-sunsetting
The Telerik.DataAccess.Core NuGet package provides the Telerik Data Access runtime assemblies necessary to consume Telerik Data Access persistent objects, without defining any mapping.
If this project contains persistent classes and defines mapping, the Telerik.DataAccess.Fluent NuGet package is required as well.
Telerik Data Access helps defining mapping and executing create, retrieve, update and delete operations for your data access classes and database tables. It allows you to consume stored procedures and functions.
- Microsoft SQL Server 2016 is now officially supported by Telerik Data Access
- Runtime: Improved memory usage by avoiding back references in Telerik Data Access internals
- Runtime: Allowed more efficient concurrent usage of contexts, avoiding finalizable objects where possible - Improved the achievable concurrency by restricting the amount of work the GC has to perform. The benefits are reduced time spent in the GC and more direct reclamation of unreachable memory, resulting in more stable behavior of the working set and improved GC gen0/gen1 ratio under load.
- OpenAccessContext.GetLastConflicts() will no longer swallow exceptions
- Improved prefetching of collections to avoid data inconsistencies - When prefetching is used (via .Include() or .LoadWith()) and there is no prefetched data in the first 50 results (or 500 in case of second level cache), the reading step can fail with inconsistenly read data. The code change needed for this bug fix also improves the prefetching behavior in that there are more paralllel fetches used now and point fetches are avoided.
- Improved handling of expections happening on database driver level as part of the integrated connection pool management - Now NullReferenceException is avoided and original exception can be obtained.
- Fixed implementation of OpenAccessContext.GetOriginalValues() for collections and dictionaries - If OpenAccessContext.GetOriginalValues() is called on a persistent field or property of type List or Dictionary sometimes the latest in-memory version of the data was returned and not the last persisted version. Calling it after a FlushChanges followed by a change to the collection or dictionary the Runtime now will persist the change consistently.
- Context.SaveChanges(AggregateAll) flag is not respected and only the first OptimisticVerificationException is thrown - The context method SaveChanges(AggregateAll) was not collecting all errors when OptimisiticVerificationExceptions occur. Now the behavior can be switched between 'AggregateAll' and 'FailFast'. Only OptimisticVerificationExceptions will be aggregated, other kinds of exeptions will still have the default 'FailFast' behavior.
- TrackedList/TrackedBindingList support improvements - Improved integration of TrackedList<T> and TrackedBindingList<T> and runtime logic maintaining original values to avoid side effects added in virtual methods of the list types.
- Parallel Fetching changes - Disabled parallel fetching when Skip, Take, Single(OrDefault) and First(OrDefault) are present in an outer LINQ query
- Memory leak in Second Level Cache - Resolved a missing clean-up of temporary data structures in Second Level Cache related to flushed data
This package has no dependencies.