LinqConnect History

This page lists the functionality added in each version of LinqConnect. To view the full changelog including bug fixes, consult the LinqConnect revision history.


New features in LinqConnect 4.5

The current build is 4.5.1080 from 22-Sep-2016

  • Visual Studio 2015 is supported
  • The possibility to use .IsRowVersion() method for properties with non-binary data types when using the fluent mapping approach is added
  • The Parent property is added to the IInheritanceConfiguration interface
  • Bitwise And, Or, Xor, and Not operators are supported in LINQ queries for integer operands (SQL Server)
  • Bitwise And, Or, and Xor operators are supported in LINQ queries for integer operands (Oracle)

Entity Developer

  • The support for materialized views is implemented (Oracle)
  • The DbProviderFactory provider registration in application's *.config is supported by the Entity Developer version integrated into Visual Studio
  • The possibility to set values of stored procedure parameters for getting metadata to generate automatically the corresponding complex type is implemented
  • The default behaviour is changed: bit(2..8), bit(9..16), bit(17..32) are mapped to Byte, Int16, Int32 correspondingly by Create Model Wizard and Update Model From Database Wizard (MySQL)
  • The behaviour is changed: now the 1:1 and 1:0..1 associations are displayed differently on the diagram

New features in LinqConnect 4.4

  • Visual Studio 2015 Release Candidate is supported
  • Visual Studio 2013 is supported
  • The possibility to inherit from the data provider classes is added (Oracle, MySQL, PostgreSQL, SQLite, SQL Server)
  • The CommandTimeout property is added to the DataProvider class
  • The JSON data type is supported (PostgreSQL)
  • The rowversion data type is supported (SQL Server)
  • The support for the comparison operators (==,! =,>,> =, <, <=) in LINQ queries for two objects of the Devart.Data.Linq.Binary type, that correspond to the rowversion/timestamp columns, is added (SQL Server)
  • The possibility to add LinqConnect assemblies as Extension SDKs for SQLite, Oracle, MySQL and PostgreSQL databases in Metro style and Windows Phone applications (Windows 8.1) is added
  • The JSONB data type is supported (PostgreSQL)
  • The OpenConnection() method is added to the DataContext class
  • The support for columns with the 'uniqueidentifier DEFAULT NEWSEQUENTIALID()' data type is added (SQL Server)
  • The dependency on the System.Windows.Forms.dll assembly is removed
  • The behaviour is changed: installation with the /VERYSILENT install parameter will uninstall the other version of the product without any dialog box if it is installed
  • The behaviour is changed: now the script is generated with "ON DELETE NO ACTION" when using the CreateDatabase() method and the "Delete Rule" for the association is set to "NO ACTION"
  • The behaviour is changed: now the CreateDatabase() method uses the same algorithm for naming foreign keys as in Entity Developer
  • The behaviour is changed: now the cascade deletion of tables in DeleteDatabase() method is performed via the "DROP TABLE CASCADE" statement (PostgreSQL)
  • The behaviour is changed: now explicit deletion of the foreign keys by their names is not performed via the DeleteDatabase() method (SQL Server, MySQL)
  • The behaviour is changed: the new "OUTER APPLY is not supported by Oracle Database 11g and lower. Oracle 12c or higher is required to run this LINQ statement correctly. If you need to run this statement with Oracle Database 11g or lower, rewrite it so that it can be converted to SQL, supported by the version of Oracle you use." exception is added (Oracle)

Entity Developer

  • SQL Server 2014 is supported
  • The predefined templates (POCO Entity and LinqConnect) are improved: new template setting, "Generate Dummy Comments", is added
  • The possibility to use relative paths to assemblies in code generation templates is implemented
  • The Remove Invalid Characters option (by default, True) is added to the Model Naming rules; if it is set to False, all invalid characters will be replaced with underscores
  • The support of ID generators for primary keys in the Fluent Mapping template is added
  • The possibility of setting default values for enum properties is implemented
  • The behaviour is changed: the values of "Target Server" and "Server Version" can be reset via the Model Settings > Synchronization > Mapping dialog despite the fact whether connection is specified in Database Explorer or not
  • The behaviour is changed: now replication stored procedures are not shown on the "Select database objects" step of the Create/Update Model From Database wizard (SQL Server)
  • The behaviour is changed: now paths to assemblies with attributes (Model Settings -> Model -> Attributes) are saved and used as relative paths
  • The behaviour is changed: now by default VARCHAR(8000) / NVARCHAR(4000) columns, instead of VARCHAR(MAX) / NVARCHAR(MAX), correspond to the string properties in the model (SQL Server)
  • The default behaviour is changed: the INTEGER database type is mapped now to System.Int64 .NET type when using Database-First approach; the new mapping will be applied after pressing Reset in Server Options settings of Entity Developer (SQLite)

17-October-13 New features in LinqConnect 4.3

  • Oracle 12c is supported
  • VARCHAR2/NVARCHAR2/RAW types with length increased to 32KB are supported for Oracle 12c
  • Oracle 12c specific SQL generation for paging is supported
  • The Collate method of the SqlMethods class is implemented
  • The behaviour is changed: CreateDatabase functionality generates columns with the identity clause 'GENERATED AS IDENTITY' for primary key properties with 'IsDbGenerated=True' (only for Oracle 12c)

Entity Developer

  • The predefined templates are improved: new template setting, "Use Compiled Query Cache", is added
  • The behaviour is changed: "Generate Database Script"/"Update Database From Model" wizards generate columns with the identity clause 'GENERATED AS IDENTITY' for properties with 'Auto Generated Value=True' (only for Oracle 12c)

04-April-13 New features in LinqConnect 4.2

  • Visual Studio 2013 Release Candidate is supported
  • LINQPad integration is supported
  • The possibility to disable query cache via the DataContext's 'EntityCachingMode' property is added
  • The possibility to use the extension method AsQueryable() in LINQ queries is added
  • Creation of auto-incrementing sequences and triggers for Oracle models is supported (Oracle)
  • Support for SERIAL and BIGSERIAL database types when using CreatedDatabase() method is added (PostgreSQL)
  • The support for correct retrieving of the TimeSpan and DateTimeOffset values while materializing is added
  • The support for the operators of equality(==) and inequality(!=) for the "inet" data type in LINQ queries is added (PostgreSQL)
  • The possibility to add LinqConnect assemblies as Extension SDKs for Oracle, MySQL and PostgreSQL databases in Metro style applications is added
  • The implementation for the DatabaseExists method, which checks the existance of the tables in the database, is added (Oracle)
  • The possibility of creating Oracle schemas (users) for mapped model classes via the CreateDatabase(false,true)/CreateDatabase(true, true) method of the DataContext class is implemented (Oracle)
  • The possibility of deleting Oracle schemas (users) for mapped model classes via the DeleteDatabase(false,true)/DeleteDatabase(true, true) method of the DataContext class is implemented (Oracle)
  • The encryption support for local SQLite storage in LinqConnect for Metro is added (SQLite)
  • The performance when working with the TPT-inheritance and retrieving descendants via OfType<> is improved
  • The behaviour is changed: now, when trying to synchronize composite primary key after insert, the "Auto-sync of multiple key parameters is not supported for SQL Server" and SqlNullValueException exceptions are not thrown (SQL Server)
  • The behaviour is changed: new database is created when using CreateDatabase method with createSchema = true (SQL Server)
  • The behaviour is changed: now batch updates are disabled by default (SQLite)

Entity Developer

  • A new MVC Controller template, generating a ASP.NET MVC controller with data access code, is added
  • A new MVC View Advanced template, generating an ASP.NET MVC view based in Twitter Bootstrap, is added
  • A new Data Transfer Object template for DTO classes generation is implemented
  • A new WCF RIA Domain Service template, generating a WCF RIA Services domain service class for a Devart LinqConnect model is added
  • A new Data Annotation Metadata template, generating Data Annotation metadata classes and decorating classes and properties with data annotation attributes for validation, presentation and defining metadata, is added
  • Add Template dialog box is improved
  • The Namespace property of class, complex type, enum is implemented
  • The capability for setting special rules for generating default names of database objects when using the Model First approach is implemented (a new Advanced page is added to the Synchronization->Database Naming section of the Model Settings dialog box)
  • The capability to customize properties that are automatically added when creating a new entity, and options that are automatically set when creating a new property is added (a new Initialization page is added to the Model->General section of the Model Settings dialog box)
  • The Refresh option in the Attributes tab of the Model Settings window is implemented; it updates the list of available attributes types in the referenced assemblies
  • The capability to modify custom attributes for several selected entities or properties at the same time is implemented
  • The capability to cancel metadata reading in wizards and Database Explorer is added
  • The "Recreate Database Tables" check box, which allows to drop and recreate database tables, is added to the "Update To Database" wizard
  • New setting "Detect Table Per Type inheritances", which enables automatic detection of TPT inheritances, is added for Create Model Wizard and model
  • The "Include Drop" check box for including DROP commands for database objects to the generated script is added to Generate Database Script Wizard
  • A new shortcut menu command "Include Related", which allows making a copy of the related objects in the specified diagram, is added
  • A new shortcut menu command "Add To Model with Related", which allows adding tables, related to the selected one, to the model, is added to the shortcut menu of tables in Database Explorer
  • A new shortcut menu command "Add On Diagram With Related", which allows creating an object and all the objects related to it on a diagram, is added to the shortcut menu of classes, complex types, and enums in Model Explorer
  • The support for enums declared in external assemblies is implemented
  • New "Simple" diagram skin is added for displaying a diagram in metro style
  • The "Default Width" diagram property for specifying the default width for newly created diagram shapes (entities, complex types and enums) is added
  • The "Model Name As Files Prefix" property is implemented for the templates which generate classes for model entities
  • The possibility of adding custom attributes to enum members is implemented
  • Class Editor is improved: the capability to edit extended property settings, such as validation, presentation, and facets, is added
  • Type Editor is improved: the capability to edit extended property settings, such as validation, presentation, and facets, is added
  • The "Rewrite connection string during regeneration" check box of Model Settings is implemented to determine whether to overwrite the connection string in the project config file with the one, currently set in Entity Developer for the model, each time when regenerating code for the model
  • The Save and Refresh buttons for persisting and reloading changes to / from a database is added to the Retrieve Data grid
  • The "WCF DataMember Attribute on Navigation Properties" property is added to the DbContext and POCO templates for pointing the end (-s) where the attribute should be generated
  • Support for SQL Server Compact Edition 3.5 and 4.0 is added
  • Devart.Data.Linq.Binary and System.Data.Linq.Binary types are added to the "Type Mapping Rule Editor"
  • The "Regenerate Storage and Mapping" option for regenerating model parts, specific to the database server, is added to the diagram shortcut menu
  • The user interface of Express Edition concerning availability of custom templates is improved
  • POCO Entity template is improved: new template setting, "Property Change Notifiers", is added
  • The "Close the window when the generation completes successfully" option in the Generation Process window is implemented in the standalone Entity Developer
  • The behaviour is changed: "Save connection string in App.Config as" check box in Model Settings dialog box is renamed to "Use connection string from App.Config as"
  • The behaviour is changed: now, when creating a new TPH discriminator column in Inheritance Editor, it has the string type by default
  • The behaviour is changed: the error is generated if the Abstract inheritance modifier is set for the class which is involved in the Table Per Type inheritance
  • The behaviour is changed: empty value is used in property editors instead of -1 for marking facets of class property without assigned value
  • The behaviour is changed: a string default value for the property can be set without quotes in the Properties window
  • The behaviour is changed: a default value for the "Detect Table Per Type inheritances" option in Model settings is set to False
  • The behaviour is changed: the possibility to exclude the generation of keys (primary, foreign) in "Update Database From Model" and "Generate Database Script From Model " wizards is added
  • The behaviour is changed: the possibility to add one-to-one associations with nullable foreign key properties is added
  • The behaviour is changed: a table storage engine is not set explicitly in the generated DDL (MySQL)
  • The behaviour is changed: now by default MVC Controller template generates files in the model folder, MVC View Advanced template creates files in the Views model subfolder
  • The behaviour is changed: the PostgreSQL limitation in 63 character for identifier names is taken into account when the SQL script is generated by Update Database From Model / Generate Database Script wizards

06-September-12 New features in LinqConnect 4.1

  • Visual Studio 2012 is supported
  • Support for SQL Server Compact Edition 3.5 and 4.0 is implemented
  • The fluent mapping is improved: support of the ID generators for primary keys is added

Entity Developer

  • Predefined template for generating Repositories and Unit of Work classes is added
  • Integration with Visual Studio refactoring for renaming model objects is implemented
  • The "Use Database Comments" option of Model Settings is implemented to determine whether comments for database objects, if supported by DBMS, will be used for model objects Documentation initialization and taken into account when executing model or database update operations
  • The "Implement IClonable" option for the generated classes based on the model entities is added to all templates
  • The 'Entity Base' class property, which allows specifying the ancestor class/interface for a particular entity type, is implemented
  • Model Refactoring feature is implemented; it speeds up creating complex types and Table Per Type inheritance from several model entities
  • The functionality of ignoring columns in the database in the "Update To/From Database" wizards if they were omitted once before is implemented
  • Warnings about objects that are not mapped are added
  • A SHIFT+DELETE keyboard shortcut for deleting entity, complex type, or enum from diagram only is added
  • An INSERT keyboard shortcut for creating a new entity, adding property to the selected entity/complex type or new member to enum is added
  • The possibility to view notes, added through the "Documentation" property, for all the diagram objects via hints is implemented
  • Hints for diagram objects are improved
  • The possibility of setting enum values via predefined dropdown list in the Retrieve Data window is implemented
  • The behaviour is changed: the "Save connection string in App.Config as" option is available in the standalone Entity Developer (the entry in App.Config must be added manually afterwards)
  • The behaviour is changed: only particular (not all) property characteristics are regenerated when using Update Model From Database wizard after the metadata of the corresponding column have been changed
  • The behaviour is changed: when preserving schema name is disabled, schema name is no more saved for Oracle package functions/procedures
  • The behaviour is changed: Configure Behaviour dialog is renamed to Stored Procedure Mapping
  • The behaviour is changed: now the 'Read Only' property is not set to true for autoincrement fields by default when creating/updating models (MySQL, SQL Server)
  • The behaviour is changed: the serializing property and corresponding methods are not generated when using 'Fluent Mapping'/'POCO Entity' templates and Unidirectional mode
  • The behaviour is changed: the Guid property is mapped to the UUID type in the database when using the Model First approach (PostgreSQL)

22-May-12 New features in LinqConnect 4.0

  • Visual Studio 2012 Release Candidate is supported
  • Support for Silverlight 4 and higher and Windows Phone 7 is added
  • References to System.Data.Linq are removed; now LinqConnect uses only its own classes
  • Upgrade wizard for upgrading projects to the new version of LinqConnect automatically is added
  • The possibility to choose cache mode (classic mode for cases when DataContext is used as a unit of work, and self-cleaning mode for cases when DataContext is a long-lived object) is added
  • The possibility to map stored pocedure out parameters of the CURSOR type to IEnumerable parameters of the corresponding methods is added
  • Tracking of complex object graphs with chains of parent-child objects is optimized
  • Number of database calls required for managing objects with a many-to-many association is reduced
  • Delete rule performance is improved
  • Compilation performance is improved
  • Materialization performance is improved
  • Compiled query cache is improved

Entity Developer

  • The possibility to unload assemblies from the main application domain by using separate application domain is implemented
  • The possibility to disable such Database First Settings as type mapping rules is implemented
  • The design time copy/cut/paste functionality for enum members is added
  • The sticker notes for adding comments to diagrams are implemented
  • The possibility to add a stamp, specifying diagram author, company, version, copyrights, project name, and date, to a diagram is implemented
  • New Collapse All and Expand All menu commands for collapsing and expanding diagram shapes are added
  • The "Pluralize collection navigation properties" option for the possibility to turn off the pluralization of the many-end names of associations is implemented
  • The "sealed override" inheritance modifier for methods based on stored procedures and functions is added
  • The behaviour is changed: context menu commands for working with diagram are grouped to the Diagram submenu of the context menu
  • The behaviour is changed: the possibility to change diagram shape color via the corresponding Shape -> Color context menu command is added
  • The behaviour is changed: when pasting a copied entity to a new diagram, a new entity is not created, the existing entity is added to this diagram
  • The behaviour is changed: when cutting an entity from the diagram, the entity is not cut from the model, only from the diagram
  • The behaviour is changed: the warning, related to the missing property setter, is disabled
  • The behaviour is changed: for the association, in which the many-side entity hasn't the primary key, the code and the mapping are not generated
  • The behaviour is changed: the properties, that correspond autoincrement fields, are generated with a ReadOnly keyword in VB.NET

15-March-12 New features in LinqConnect 3.2

  • Visual Studio 11 Beta is supported

Entity Developer

  • The copy/cut/paste functionality is added for objects of the conceptual part of a model
  • The possibility to drag&drop properties between classes in Model Explorer is implemented
  • The "HeaderTimestampVersionControlTag" generation template option is added for improving integration with version-control systems
  • The multiline popup editor for the Documentation.Summary property is implemented
  • The behaviour is changed: the Migrate option is added to the context menu of property in Model Explorer
  • The behaviour is changed: entities and enums on the designer surface are more resizable now

09-December-11 New features in LinqConnect 3.1

Entity Developer

  • Capability for customizing the default Type Mapping Rules is implemented
  • Capability for setting diagram options either globally for all diagram documents or separately for a particular one is implemented: the Diagram Appearance and Printing options can now be set through the Options dialog box
  • Capability for setting such options as Environment, Diagram and Servers' to adjust the Entity Developer behavior, Model diagram behavior and Type Mapping Rules to your needs is implemented
  • Capability for setting and defining the class property validation rules based on different engines (Data Annotation, Enterprise Library, NHibernate Validator) is added
  • The validation of method parameters is added
  • The context menu options for unchecking changed/added/dropped tables are implemented for the root nodes in the "Update To/From Database" wizards
  • The diagram design is changed: an arrow (instead of a triangle) is used on the tip of an association now
  • The 'Numeric Primary Key As Identity' Oracle option is added: if this option is selected, the "StoreGeneratedPattern" will be set to Identity by default for Number primary keys
  • The 'Integer Primary Key As Identity' SQLite option is added: if this option is selected, the "StoreGeneratedPattern" will be set to Identity by default for Integer primary keys
  • The "Identifier Case Sensitive" check box, which enables case-sensitive processing of database object identifier names, is added to MySQL Server Options
  • The documentation generation for Enum members is implemented
  • The algorithm for forming the Navigation Properties names, when there are several FOREIGN KEY constraints between the same tables, is changed
  • The documentation generation for navigation properties is implemented
  • The "Recreate Model" option, allowing to rebuild the model from a scratch, is added to the "Update Model From Database" wizard
  • The "GeneratePartialClass" template property to generate a partial class, which will not be overwritten by the designer, for each class in the model is added
  • The behaviour is changed: the Navigation Property will not be displayed on the diagram and in Model Explorer if "Generate" is set to false for the appropriate association end
  • The behaviour is changed: the Validate Max Length attribute is synchronized with the Max Length attribute of Property by default now
  • The behaviour is changed: the Validate Required attribute is synchronized with the Nullable attribute of Property by default now
  • The behaviour is changed: when selecting a property in the Model Explorer, the corresponding entity on the diagram does not expand if it is collapsed
  • The behaviour is changed: the DATETIME2 data type is now used for columns, corresponding to System.DateTime properties, for Microsoft SQL Server 2008 and later
  • The behaviour is changed: the 'Real' SQLite data type is now mapped to System.Double by default
  • The behaviour is changed: database column comments are transfered to the Summary attribute of the Documentation property now
  • The behaviour is changed: the TINYINT(1) data type is now used for the columns which correspond to the System.Boolean properties (MySQL)

06-September-11 New features in LinqConnect 3.0

  • Fluent mapping is supported

Entity Developer

  • Fluent Mapping template is added
  • Support for enumerated types ("enums") is implemented
  • New skins to improve the apllication appearance are implemented
  • Selection driven highlighting is implemented
  • Capability for changing the shape color for entities, complex types and enums is implemented
  • Capability for selecting the diagram skin type is implemented
  • Disabling facets that are not applicable to the current field type is implemented
  • The 'Binary As Guid' connection string parameter is supported (MySQL)
  • Default behaviour changed: now the Update To Database Wizard does not drop foreign keys of a table if the 'master' one is not represented in the model
  • The default mapping of SQLite databases with LinqConnect models is improved: integer foreign keys of one-to-one relationships are no more marked as auto-generated
  • The default attribute mapping source for LinqConnect models is made static
  • The possibility of specifying the name of the connection string to be saved in the application configuration file is implemented
  • Behaviour is changed: table is not marked as "Changed" in Update Wizard if DefaultValue is set for its expression column
  • The default value of the Unicode facet is changed to true for PostgreSQL CITEXT columns

17-May-11 New features in LinqConnect 2.50

  • The 'IsReference' mode of entity serialization is supported
  • The generation of auto-increment columns on the CreateDatabase call is implemented (MySQL and SQL Server)
  • Implemented eager loading in case the related entities collection is referenced in the select clause of the query
  • Implemented fetch mode customization for eager loading of related entities
  • Improved performance of ordered queries with the Skip() and Take() methods: the 'rownum' pseudo-column is now used instead of the 'row_number' function (Oracle)

Entity Developer

  • POCO template with XML mapping generation is added
  • Templates usability is improved
  • Template Editor is significantly improved
  • The 'IsReference' mode of entity serialization is supported
  • The generation of auto-increment columns on the CreateDatabase call is implemented (MySQL and SQL Server)
  • The possibility to export the diagram into an image file was added
  • The possibility to restrict adding the connection string information to the application configuration file is added
  • Ability to declare additional properties for model objects is added
  • Ability to specify .NET attributes for model objects is added
  • Runtime support for literals specified in the 'Default Value' entity field property for LinqConnect models is implemented
  • The "Preserve schema name in storage" option is added
  • The pluralization algorithm is improved when Naming rules are defined
  • Behaviour is changed: string entity fields are now mapped to varchar2(4000) by default (Oracle)

27-January-11 New features in LinqConnect 2.20

  • Supported Visual Studio 2010 Service Pack 1
  • Implemented the Attach(object entity, object original) method of the Devart.Data.Linq.ITable interface
  • Implemented proper support for both text and binary representations of System.Guid (SQLite)
  • Implemented implicit sorting by the entity key in queries with defined LoadWith rules
  • Implemented workaround for comparing SQLite DateTime values as strings in LinqConnect update checks (such values are explicitly converted to the SQLite DateTime type now)
  • Changed behaviour: update check is now disabled by default for properties that represent MySQL FLOAT columns

Entity Developer

  • Added multiple database file support for SQLite (using the Attach connection string parameter)
  • Added the possibility to split model into several diagrams for a better handling of large models
  • Supported automatic generation of sequences and triggers for Autoincrement properties in Oracle
  • Implemented the possibility to disable automatic recognition of many-to-many associations
  • Changed behaviour: when adding two related entities with the corresponding properties having different types, an invalid association is created now
  • Changed default mapping for MySQL signed TinyInt columns: they are mapped to SByte now
  • Changed behaviour: when retrieving metadata for Oracle servers 9.2.0.5 and earlier, the JOIN syntax of Oracle 8 is used now

29-November-10 New features in LinqConnect 2.0

  • Supported Visual Studio 2010 Service Pack 1 Beta
  • Ability to execute DML statements in batches on SubmitChanges added
  • Table Per Type inheritance supported
  • Supported ASP.NET Dynamic Data with ASP.NET Dynamic Data project templates
  • PLINQ support added (connection manager redesigned for thread safety)
  • Supported Visual Studio Debugger Visualizer with SQL syntax highlighting for the DataQuery objects
  • Implemented support for custom type arguments in LinqConnect compiled queries
  • Implemented overloads of DataContext.CreateDatabase and DeleteDatabase methods with boolean parameters specifying whether to create/delete a database or not (MySQL, SQLite)

Entity Developer

  • Added Update Model From Database functionality
  • Update To Database with Storage Synchronization functionality added
  • Added the possibility for changing the UpdateCheck property for several fields at once
  • Added multiselect support for properties
  • Improved large models handling

28-May-2010 First release of LinqConnect 1.00