Entity Framework 6 Support for Oracle, MySQL, PostgreSQL, SQLite and Salesforce

January 17th, 2013

Entity Framework 6 Alpha 2 support is implemented in Devart ADO.NET providers: dotConnect for Oracle, dotConnect for MySQL, dotConnect for PostgreSQL, dotConnect for SQLite, and dotConnect for Salesforce. You need to download the corresponding Entity Framework NuGet package to use it in your applications. You can read about Entity Framework 6 features in the corresponding MSDN articles.

New Assemblies

In order to support Entity Framework 6, we have included new assemblies compiled under .NET Framework 4.0 to the installation packages of our providers. We have added the revision number "6" to the assembly versions to easily distinguish them from the corresponding Entity Framework v4/v5 assemblies.
Read the rest of this entry »

New Features in Entity Developer 5.0

December 20th, 2012

Entity Developer 5.0 introduces a range of new features we hope you will find useful in your work. Starting with this version, Entity Developer supports DB2 and Firebird DBMSs and several third-party data providers. Besides, for the sake of your convenience, we have optimized certain features, added a number of new keyboard shortcuts and implemented the feature of transformation.

DB2 and Firebird Support

Starting with this version Entity Developer provides compatibility of Entity Framework and NHibernate models with DB2 and Firebird RDBMSs.

Third-Party Providers Support

From now on Entity Developer works with the following third-party providers:

Model Refactoring

The functionality of model refactoring greatly simplifies and automates such operations as creating complex types from properties, common to several entities, or creating TPT or TPC hierarchies from several entities. Now you can just select these entities on a diagram, right-click them, and select Model Refactoring from the shortcut menu. Then select the required action in the opened Model Refactoring Wizard and complete its steps, and Entity Developer will perform the selected action automatically.

Dialog Box Improvements for Entity Framework Models

The Property Editor dialog box is now enhanced with multiple options that were previously available only in the Properties docking window; now you can use it to specify code generation options, the corresponding object in the storage part, facet and validation framework settings.

The Inheritance Editor dialog box options have been extended to facilitate the process of TPH inheritance creation – now you don’t have to take extra steps and use the Mapping Details dialog, all you need is now available in one dialog box.

Configure Behaviour dialog box was renamed to Stored Procedure Mapping. Automapping of stored procedure parameters and class properties now works more efficiently in this dialog box. In some cases it even matches stored procedures with unnamed parameters, which is especially useful when working with PostgreSQL. Besides, two new check boxes have been added to this dialog box. One of them enables hiding stored procedures that are likely not to fit for mapping of certain action for a specific class. The other check-box enables hiding stored procedures that are already used in the model for Insert/Update/Delete mapping or as a method of the conceptual model.

Stored Procedure Mapping dialog box

New Options for Working with the Storage Part

Entity Developer 5.0 allows you to locate objects in the Storage part, that correspond to objects in the Conceptual part of the Entity Framework model. This can be done via the Select Storage shortcut menu item of the class, property, association and method. At the same time, the Create Storage and Mapping shortcut menu item allows you to create objects corresponding to classes, properties and associations existing in the Conceptual model but absent in the Storage part. The Storage field available in the Editor dialog boxes for classes, properties and methods enable quick and convenient mapping of these objects to their storage part counterparts.

Synchronization Improvements

We have improved column naming rules in the Storage part when synchronization is enabled. When a complex type property is added to a class, if the name of this property ends with the name of the corresponding complex type (e.g. CustomerAddress property within a class and the corresponding Address complex type), column names within the Storage part will contain the prefix taken from the property name, for example, Customer.

If, when creating an association between 2 classes, Entity Developer finds out that the names of the primary key columns are the same, a constraint property is created in the child class with the name that consists of the parent class foreign key name and the prefix equal to the parent class name:

New Keyboard Shortcuts

Entity Developer 5.0 introduces new keyboard shortcuts:

  • INSERT – pressing this shortcut key will create a new class or add a new property to a class, enum or complex type.
  • ALT+P – pressing this combination, when a class, enum or complex type is active calls the Property Editor dialog so that you could immediately configure a new property;
  • SHIFT+DELETE – this combination deletes the selected class, enum or complex type from the diagram area only;
  • DELETE – pressing this key will delete the object from the conceptual model together with the corresponding storage model objects.

Other Usability Improvements

In case you choose not to apply changes to some column or constraint when using Update To/From Database functionality, Entity Developer will ‘remember’ it and next time will not offer to apply changes to this object, i.e. in the Choose Actions tree the object will not be selected by default.

If a complex type is not mapped, this is now indicated in the Error List window with the corresponding warning message: The complex type ‘<type name>’ is not used by any object within the model.

Using Entity Framework Spatials with Oracle Spatial and SharpMap

November 29th, 2012

Spatials Overview

Entity Framework v5 introduces spatial data types support. They are represented as two new DbGeometry and DbGeography data types from System.Data.Entity.dll in .NET Framework 4.5.

Many our Oracle users use Oracle Spatial functionality in their projects. Before Entity Framework v5 there was no easy way to use Oracle Spatial with Entity Framework, though users of PostgreSQL, PostGIS, and SharpMap could use this cumbersome and limited workaround. This workaround was even harder to use with Oracle Spatial and was almost not used because of numerous limitations.

Now Entity Framework v5 changes the situation, and Devart dotConnect for Oracle provides the best possible support for Entity Framework Spatials and Oracle Spatial. It includes new versions of Devart.Data.Oracle.Entity.dll and Devart.Data.Oracle.Entity.Migrations.dll assemblies built for .NET Framework 4.5 (Entity Framework v5) and the new unsigned Devart.Data.Oracle.Entity.SharpMap.dll assembly for SharpMap library support.
Read the rest of this entry »

Using PostgreSQL Full-Text Search in Entity Framework

August 17th, 2012

Introduction

PostgreSQL database supports an advanced functionality of full-text search (FTS) and full-text indexing described comprehensively in the documentation:

Full-Text Search

We decided to meet the needs of our users willing to take advantage of the full-text search in Entity Framework and implemented the full-text search functionality in our Devart dotConnect for PostgreSQL ADO.NET Entity Framework provider.
This article deals with the following:

Read the rest of this entry »

Using SQLite Full-Text Search in Entity Framework

August 14th, 2012

Introduction

SQLite database supports an advanced functionality of full-text search (FTS) and full-text indexing described comprehensively in the SQLite documentation: SQLite FTS3 and FTS4 Extensions.
We decided to meet the needs of our users willing to take advantage of the full-text search in Entity Framework and implemented the full-text search functionality in our Devart dotConnect for SQLite ADO.NET Entity Framework provider.
This article deals with the following:

Read the rest of this entry »

NHibernate Mapping Samples – 50 Samples of NHibernate Mapping

July 18th, 2012

NHibernate is a widely used open-source ORM solution for .NET Framework. It is well-known for its great flexibility in mapping .NET classes to database tables, because it supports most kinds of such mapping ever needed by developers. However, its is also well-known for its complex mapping both fluent and XML. To help beginner developers to get acquainted with NHibernate mapping, Devart releases NHibernate Mapping Samples application, which demonstrates 50 different mapping cases and how they are mapped using both fluent and XML mapping.

Read the rest of this entry »

LinqConnect for Metro: Quick Start Guide

July 18th, 2012

Since version 4.0 LinqConnect can be used for writing Windows Metro applications. In this article we will show how to use LinqConnect for working with data, bind data to user interface elements, group data, etc. We will also discuss some other aspects, that are necessary to know for quick integration of LinqConnect into your applications. You can download the sources of the sample application using the link at the end of this article.

Read the rest of this entry »

Using MySQL Full-Text Search in Entity Framework

July 10th, 2012

Introduction

MySQL database supports an advanced functionality of full-text search (FTS) and full-text indexing described comprehensively in the documentation:

We decided to meet the needs of our users willing to take advantage of the full-text search in Entity Framework and implemented the full-text search functionality in our Devart dotConnect for MySQL ADO.NET Entity Framework provider.
This article deals with the following:

Read the rest of this entry »

Using Oracle Full-Text Search in Entity Framework

July 5th, 2012

Introduction

Oracle database supports an advanced functionality of full-text search (FTS) called Oracle Text, which is described comprehensively in the documentation:

We decided to meet the needs of our users willing to take advantage of the full-text search in Entity Framework and implemented the basic Oracle Text functionality in our Devart dotConnect for Oracle ADO.NET Entity Framework provider.
For working with Oracle Text specific functions in LINQ to Entities queries, the new OracleTextFunctions class is used, which is located in the Devart.Data.Oracle.Entity.dll assembly. It enables working with such Oracle Text functions as:

  • CONTAINS
  • CATSEARCH
  • MATCHES
  • SCORE
  • MATCH_SCORE

To call Oracle Text specific stored procedures of the CTX_DDL package, the OracleCtxDdlPackage class is used, which is located in the Devart.Data.Oracle.Entity.dll assembly.
To customize Code-First Migrations with the purpose of creating and deleting Oracle Text specific indexes, the CreateIndexConfiguration and DropIndexConfiguration classes are used, which are located in the Devart.Data.Oracle.Entity.Migrations.dll assembly.
This article deals with the following:

Read the rest of this entry »

Support of Many-to-One Mapping for Component Navigation Properties in Entity Developer

May 24th, 2012

This article explains and gives a practical example of how support of сomponent navigation properties is implemented in Entity Developer for NHibernate.
Support of this functionality includes the possibility of detaching to a complex type for further reusability not only scalar entity properties but also navigation properties with subsequent customization of complete mapping at the level of private mapping of a certain property with type equal to complex type of a certain entity.

There are several ways of component navigation properties mapping in NHibernate:

  • Many-to-one;
  • One-to-many;
  • One-to-one;
  • Many-to-many.

In this article we will consider the most popular of them, i.e. many-to-one mapping of сomponent navigation properties. We will not focus on one-to-many and one-to-one types of сomponent navigation properties mapping, as these types of mapping are not very common, besides, their usage and customization have little difference from the example under consideration and so are quite comprehensible. Many-to-many mapping is considered in details in the article Support of Many-to-Many Mapping for Component Navigation Properties in Entity Developer.
Read the rest of this entry »


dotConnect Team Blog