Data Access 2010.1624

Jun 23, 2010

Telerik OpenAccess ORM Q1 2010 SP 2 Release Notes (v2010.01.0623)

Enhancements

  • Class Generation: Avoid (make configurable) creation of non-CLS compliant field / property names - When a column is named _id, the resulting field _id is generated which immediately generates a warning for a non-CLS compliant identifier.
    We should allow the automatic correction of such fields, configurable.
  • Backend Specific concurrency columns are not recognized as version columns by the default mapping in the DSL - The backend specific version columns and the fields mapped to them(Timestamp) must be tagged with the right concurrency control facets by the default mapping.
  • When the model name is changed through the model settings dialog the change is not reflected in the metadatamodel - The changes are lost but should be stored inside the xml rlinq file.
  • When the uses is asked if he wanted a domain model and clicks yes the add new item wizard should be started. - When the uses is asked if he wanted a domain model and clicks yes  the add new item wizard should be started.
  • LINQ: Improved support for DateTime constructor expressions - It is possible now to use expressions like
    from p in Scope.Extent<Person>() where p.Birthday = new DateTime(1967,3,29) select p
    The DateTime(int,int,int) and DateTime(int,int,int,int,int,int) methods are supported and will be converted to the corresponding SQL.
  • Renaming a class in the designer does not rename the assciated OID class if such exists. - If a class that has been renamed has an OID inner class, the OID class should be renamed along with its parent class.
  • MySql autoinc columns are not recognized automatically - Autoinc columns of MySql tables cannot be recognized automatically while reverse mapping a database. Workaround: Enable the Auto Increment check box in the Reverse mapping wizard for such columns.
  • New UI for the BackendConfiguration in the ModelSettings dialog - Create comprehensive UI for the Backend Configurations in the Model Settings Dialog.

Fixes

  • LINQ: Projection into known type from a joined expression fails - When projecting joined expressions into a known type (not an anonymous type), the generated SQL is wrong.
  • The UpdateFromDatabase wizard does not resolve the |DataDirectory| directive - When the connection string of the domain model contains a |DataDirectory| directive, the database path is not resolved correctly and the database cannot be found.
  • Enhancer does not intercept field access in class constructor - If a persistent field is accessed inside a constructor of another class the call is not intercepted and the value might not be loaded from the database.
  • Silverlight Paging: OpenAccessDomainService throws an exception when total count is to be included in query - An 'not a method'exception is thrown when the SL uses paging, which includes the total count information.
  • Configuration fails with an cast exception - A cast exception can be thrown when an integer backend configuration value was modified.
  • Query: Exception thrown that a scalar variable must be declared when certain methods (like String.IsNullOrEmpty(parameter) ) are used - When certain methods (like string.IsNullOrEmpty(x)) translate to a SQL text like (x IS NULL OR x = ''), the duplicate use of x when it is actually a ? parameter causes an internal error that leads to a missing SQL parameter value.
  • LINQ: Testing the type of a reference with 'IS' produces incorrect SQL - The LINQ expression "pc.refField is pctype" produces wrong SQL.
  • LINQ: Support for LongCount() added - Support for Queryable.LongCount() was added.
  • LINQ: Support for expressions generated by the DataService request processor - Support for LINQ queries as generated by the DataServices request processor was improved (String.Contains(), multiple orderings)
  • Enhancer damages generic function call with reference parameter - If a generic function or a function of a generic type with a ref parameter is called and the ref parameter is a persistent field, the resulting assembly is damaged. Peverify reports not loadable types.
  • Enhancer cannot handle resources without binary content - If an assembly has an embedded resource that only contains string data, the enhancer throws a null reference exception.
  • If an assembly with a strong name is enhanced without passing in the key file the assembly is no readable - If an assembly with a strong name is enhanced and no key file or key container is passed to the enhancer, the resulting assembly is not readable because it still says that it has a strong name but the strong name is not present. Now it removes the strong name completely and can be signed by using the sn.exe tool.
  • LINQ: When ordering is two times on the same field, the generated SQL is wrong - When a LINQ expression tree like x.OrderBy(u => u.Id).ThenBy(c => c.Id) is encountered, the generated SQL was wrong.
  • LINQ: Enable handling of parameter.ToString() method calls in LINQ expressions - When an expression fragment like 'pc.stringfield == parameter.ToString()' is encountered, an exception was thrown.
  • OQL: NullReferenceException when query was already available from compiled query cache - When a query was cached, a null reference exception occured while reusing the query.
  • Visual Studio 2010: Assembly signing with .pfx file not working with enhancer - Assembly signing with key containers (generated by using .pfx files) did not sign the enhanced assembly.
  • Using VARBINARY as parameter type for GetSqlQuery() throws an exception - When using GetSqlQuery("[AStoredProc] ?",null,"VARBINARY val").Execute(new byte[5]), the execution failed as there was an exception thrown (Type not supported for setObject).
  • Persistent objects not serializable - The new enhancer does not add the nonserialize settings to the internal OpenAccess fields. This leads to an exception that the OpenAccess PCStateMan is not serializable.
  • The use schema name as a prefix setting does not work - The use schema name as a prefix setting does not work. Regardless of the status classes are generated without a prefix.
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.