Data Access Q1 2014 SP1

April 9, 2014

Telerik Data Access Q1 2014 SP1 (2014.1.403.2)

NEW
  • Database default values in Fluent API - Database First users of the Code-Only mapping can now specify whether a column has a default value calculated by the database server. This could be done using the .HasDefaultValue() extension method.
  • Bulk Select integrated in LINQ statements - The recently released functionality for Bulk Select based on a set of object keys is now fully integrated into the Data Access LINQ engine, which means that joining data from different systems is now easier and less error prone.
  • Support for Oracle Managed Driver in Visual Designer - After introducing the runtime support for the Oracle Managed Driver in Q1 2014, now it is also made available in the Choose Data Source window of the Add New Item wizard.
  • Support for MS SQL Server 2014 - Data Access is now fully tested and can be used in production with MS SQL Server 2014 RTM.
  • Dynamic detection of Azure database so that missing Backend value is deduced correctly - When an Azure database is specified via connection string settings (app.config/web.config), and no explicit backend is specified in the BackendConfiguration, the missing value is no longer given as MSSQL, but Azure is used. This eases the transition between the two backends.
  • MariaDB support upgraded to 10.0.10 - Data Access is now tested with the latest version (at the release date) of MariaDB - 10.0.10
  • Conversion Wizard from Classic to Fluent Mapping is upgraded - The conversion wizard used for migrating Classic mapping models to Fluent mapping is significantly improved in order to cover a wider range of scenarios.
FIXED
  • Runtime: Too frequent Garbage Collection under heavy load with a small connection pool - When the connection pool is empty (no more connections are available), activities on the server used to get blocked until a connection gets available again. This situation can arise when too many requests are attempted in parallel for the given connection pool size. In such case, the connection pool thread schedules a System.GC.Collect(1) based on a predefined period in seconds in order to free non-disposed connections that can be collected. This period is now changed to 31 seconds to improve the overall performance.
  • Code Generation: If the Data Annotation attributes code generation is enabled and there is a class property named "DataType" the code didn't compile - In cases when some class names or property names are the same as some of the attrubutes generated when the "Generate DataAnnotation Attributes" from Model Settings is allowed, the code was not buildable. Now the attributes are generated with the full name including the namespace to prevent the issue.
  • Runtime: IndexOutOfRangeException in OpenAccessRuntime.common.GenericState due to metadata mismatch - In some complex scenarios, it happened that an IndexOutOfRangeException was thrown because the state and the metadata were out of sync. Now this exception is avoided.
  • Runtime: In presence of server side exceptions, cleanup of statements, readers and connections could fail - When a lock conflict occurs, the reader, statement and connection were sometimes incorrectly kept active and not cleaned up.
  • Add Service Wizard: REST service code generation was generating code that is not compilable with GUID identities - Currently the generated REST services code is appropriate when having an entity with a GUID for identity
  • LINQ: OR expressions in filters producing invalid SQL in Oracle when vertical inheritance is used - Invalid SQL was generated for LINQ queries with filters chained using OR, vertical inheritance and target database server Oracle.
  • Runtime: Highlow key generator using too many connections - The high-low key generator was always taking a connection out of the pool even if that was not necessary.
  • Documentation: API reference installation occasionally failing on Windows 8 - The API reference installation batch script was occasionally failing in Windows 8 environments due to trying to call a process before it has been closed by previous operation. Currently the script is waiting for the required process to finish until calling it again and the API reference help is installed successfully under Windows 8.
CHANGED
  • NuGets: Telerik.DataAccess.Core NuGet package now includes Telerik.OpenAccess.40.Extensions.dll - Telerik.OpenAccess.40.Extensions.dll that will be added automatically as reference if the target project is using .NET Framework 4.0 or later.
  • Data Access API Reference excluded from the default installer - The legacy API Reference is removed from the default installation package of Data Access. The new API reference installation for all supported Visual Studio versions is available as a separate download. As a result, the size of the Data Access offline installer is significantly reduced, and the speed of online installation is optimized.
Have a feature request?

Post your feedback via the Data Access feedback portal or the public forums

What's new across all Telerik products?

See the updates feed

Next Steps

Download for free

Get your fully functional free copy of Data Access.

Get Data Access Sample Kit

Including demos and articles to get you started.

Suggest new features

Help us shape our roadmap.