Batch Operations Dialog: New operations have been added. - The Batch Operations dialog now offers automated changes in: DataAccessKind, IdentityType, InheritanceStrategy, UpdateSchema, ProcedureMapping, Field Name, IsIdentity, MemberAccessModifier, IsVersion, IsPrimaryKey, IsBackendCalculated, IsBackendVersion, HasDefaultValue, Converter.
PostgreSQL: Decimal and float auto-incremented primary keys are now supported
LINQ: SqlGeometry support - Properties mapped to columns of type SqlGeometry can now be used in LINQ queries.
Visual Designer: Solution Explorer context menu is not appearing faster - If a project contained a lot (hundreds or thousands) of items, the context menu could take several seconds to open.
Fixes
Add New Item wizard: Not started unless solution explorer initialized - The wizard was not started if the Solution Explorer tool window is not open or initialized preliminary.
Code Generation: Generation of domain methods with string parameters did not consider the length set for the corresponding property. - The string length is now read from the schema reader - if there is a value, it is assigned to the OAParameter.Size property. Exceptions: for all variable length string data types like varchar(Max), nvarchar(max), ntext, varchar_2 (Oracle), the size property is set to int.MaxValue.
Code Generation: Problem with domain methods returning complex types - The generated Visual Basic code was not buildable if the model contained a domain method with complex result type.
Code Generation: Problem with non-primitive properties - The Visual Basic code generated for a property of a non-primitive type could not be compiled.
Domain Model Validation: Wrong join tables warning - A warning was shown for join tables that the table is not mapped to a class, although it is used as join table in a many-to-many association.
Dynamic Data Wizard: Model namespace wrongly imported - The model namespace is now correctly imported in the generated code. This was not done in case of attributes or fluent mapping.
Dynamic Data Wizard: SQLException in horizontal mapping scenarios - An error was thrown for horizontally mapped base classes: "SQLException: Invalid object name 'XYZ'".
Entity Framework converter: Converting a Model containing a complex type and properties of this type led to an exception - Converting an EntityFramework model containing complex types now performs a convertion with warnings and adds XML documentation with more details on each of the problematic properties.
Fluent Code Generation wizard: Problem with empty models - No code was generated when an Empty model is added. Currently the appropriate infrastructure is created.
OpenAccessLinqDataSource: Horizontally mapped classes not supported but shown - Horizontally mapped base classes are no longer displayed in the configuration wizard of OpenAccessLinqDataSource control. Such setup is not supported by the OpenAccess' runtime.
Oracle: Wrong sql generation for temp table migration - In cases when the specified table name exeeded the Oracle specific naming limits, the mechanism to generate a temp table migration script was wrong.
Oracle: Wrong handling of 'timepstamp with time zone' column indexes - Indexes on columns with type 'timestamp with time zone' were not handled correctly and caused the creation of an unnecessary update script.
Runtime: Unable to add an object to the context which is part of a 1:1 relation - An exception was thrown when an object that is part of a 1:1 relation was added to the context and the composite primary key was specified before adding it to the context.
Runtime: Bulk update exception based on concurrency control - The update operation could throw an exception when used with a class having "Backend" concurrency control mode.
Runtime: Bulk delete removing data that is not supposed to be deleted in some scenarios - Bulk delete will no longer try to delete data from referencing tables when the target and the referencing table are in an one-to-many relationship.
Runtime: NullReferenceException when the key generation table is missing - If a persistent class uses the HIGHLOW key generator but the generation of the key generation table is switched off, a NullReferenceException was thrown when executing the first operation on the database
Runtime: Wrong identity change exceptions when primary keys are shared - Having composite primary keys that are shared between various references caused wrong identity change exceptions.
Runtime: Handling of potential evictions from second level cache could cause performance issues during Add() - When an instance A is added to a context, and that instance contains a reference to another existing item B, which has an inverse collection IList, the runtime performs a second level cache evict of B. The implementation is now optimized and takes into account whether an eviction is needed at all.
Visual Designer: NullReferenceException in specific scenarios involving namespace changes - A NullReferenceException was thrown for Visual Basic projects, if the namespace of a class is changed from Properties tool window and an inheritance or association link is added to the class.