Release History

By product

Data Access Free 2014.2918

September 23, 2014

New

  • Service Stack service layer code generation - The Telerik Data Access Add Service Wizard can now generate an extensible ServiceStack service layer based on a selected Telerik Data Access Model.
  • Handling for DateTimeOffset methods and properties in LINQ - The handling of methods and properties on DateTimeOffset CLR type is now implemented and leads to the same SQL as DateTime methods/properties

Fixed

  • Runtime: ContainsExtended not working with joined expressions, leading to NullReferenceException - A paramList.Contains(x.persistentField) was not handled correctly when done on a joined expression.
    Example:
    var paramList = Enumerable.Repeat("a", 501); // more than 500 entries needed to trigger temporary table Contains handling
    var query = from b in context.Bs
    join e in context.Es on b.Id equals e.Id
    where paramList.Contains(b.field1) && e.status != 200
    select new { Field1 = b.Id, Field2 = e.Status };

    A NullReferenceException used to occur while calculating a join to the temporary table, which does not have primary keys.
  • RelationalConnectionPool can write false error log entries when connection waiting thread was interrupted - When the managed connection pool is used by an application, the connection pool is emptied so that threads block and wait for a connection, and that waiting threads is interrupted, the runtime might write wrong entries in the application log for "Forced Garbage Collection to free dangling connections.". The original entry is still valid, yet the condition was not reset.
  • Runtime: Wrong string converter used for default mapped string properties - Now string properties mapped with Fluent Mapping without specifying character encoding will be use Non-Unicode value converter to match their Non-Unicode string encoding.
  • Runtime: HighLow key generator does not work correctly when ReadWithoutTransactions is used - When ReadWithoutTransactions is turned on, the HighLow key generator mechanism did not protect itself properly against concurrent usage, leading to DuplicateKeyExceptions.