Entity Developer vs Entity Data Model Designer

While creating and developing our ORM designer, we strived to impove user experience and productivity along with providing best possible support for more ORM mapping features. Now Entity Developer provides a number of benefits, not available in Visual Studio Entity Data Model designer, that increase your productivity and supports many Entity Framework mapping cases, not supported in EDM designer. The following sections and tables provide a detailed feature comparison between Entity Developer and EDM Designer.

Mapping and Inheritance

Entity Developer supports all kinds of Inheritance hierarchies and additional mapping customization ways.

Feature Entity Developer EDM designer
 
Table-per-hierarchy (TPH) mapping Yes Yes
Table-per-type (TPT) mapping Yes Yes
Table-per-concrete type (TPC) mapping Yes No
Unmapped abstract types Yes No
Table splitting Yes VS 2010 +1
Entity splitting Yes Yes
QueryViews Yes No
Model-defined functions Yes No
Complex types Yes VS 2010 +
Enum types2 Yes Yes
Powerful Inheritance Editor dialog box Yes No

1 Visual Studio 2008 partially supports table splitting, however you need to edit the model XML manually to create such mapping.

2 Enum types are supported since Entity Framework v5, therefore they are supported since Visual Studio 2012, and in Entity Developer for Entity Framework v5 and higher models only.

Design Approaches

Entity Developer supports both Model-First and Database-First approaches. Unlike Entity Data Model designer, it allows you even to change approaches in the middle of the development process.

Feature Entity Developer EDM designer

Database-First

Database-First approach support Yes Yes
Wizard for generating model from a database Yes Yes
Wide customization of naming rules for model objects Yes No
Customization of data type mapping rules Yes No
Adding new model objects by dragging database objects from Database Explorer Yes No

Automatic entity key generation from:

  • Primary Key
  • Unique Index
  • Non-null columns

 

Yes
Yes
Yes

 

Yes
No
Yes
Table-Valued Functions support Yes VS 2012 +
Support for spatial data-types for DbGeography and DbGeometry1 Yes Yes
Possibility to add database objects that produce invalid model objects to the model. These objects are highlighted as invalid, and can be fixed manually Yes No
Database object comments are retrieved from the database and used as the Documentation property values for model objects (and are used for XML comments in the generated code) Yes No
Ability to choose database objects to be added to the model when updating model from the database Yes Yes
Ability to choose database objects to be deleted from the model when updating model from the database, if there are no such objects in the database Yes No
Ability to choose database object changes to be applied to the model objects when updating model from the database (ability to keep manual changes) Yes No
Retaining the list changes that were not selected in the Update From Database wizard Yes No
Ability to automatically remove the schema name for database objects, added to the model Yes No

Model-First

Model-First approach support Yes VS 2010 +
Mapping Synchronization. With mapping synchronization, changes to the conceptual model are automatically applied to its mapping and storage part Yes No
Wide customization of naming rules for database objects Yes No
Table-per-hierarchy (TPH) mapping Yes VS 2010 +
Table-per-type (TPT) mapping Yes
No
Table-per-concrete type (TPC) mapping Yes No
Ability to use different kinds of inheritance hierarchy in the same model, and to set it separately for each hierarchy Yes No
Generation of DDL script for database object creation, based on the model objects Yes VS 2010 +
Synchronization of database with the model with an ability to apply changes selectively Yes No
Ability to alter existing database tables preserving their data instead of recreating them Yes No
Retaining the list of changes that were not selected in the Update To Database wizard Yes No
The ability to use Documentation property values of model objects as comments for the corresponding database objects Yes No
Automatic storage and mapping generation based on the conceptual model Yes No

1 Spatial data types are supported since Entity Framework v5, therefore they are supported since Visual Studio 2012, and in Entity Developer for Entity Framework v5 and higher models only.

Large model support

Entity Developer offers several features that are very useful for working with large models containing hundreds of entities using both Database-First and Model-First approaches.

Feature Entity Developer EDM designer
 
Multiple diagrams for a model Yes VS 2012 +
The ability to split a model into several diagrams manually or automatically when creating it using Database-First approach Yes No
Search for an object on the current diagram Yes VS 2012 +
Search for an object on all model diagrams, where it is present, even if they are closed Yes No
Automatic navigation to the object, selected in the Model Explorer, on the diagram and vice versa Yes No
Diagram Overview toolwindow Yes No
Fast generation of a large model when using Database-First approach because of taking into account the specific functionality of each database server Yes No
Built-in ability to enable view pregeneration for speeding up the first query execution in run-time Yes No

Productivity

Entity Developer provides powerful features to automate or speed-up common model editing operations. Really intuitive Entity Developer drag-n-drop allows you to perform actions, which can take minutes in Entity Data Model designer, in a couple of clicks. Advanced model refactoring features go even further and allow such operations as creating a TPC inheritance hierarchy from a group of classes or extracting common properties from several classes to a complex type to be performed almost instantly.

Feature Entity Developer EDM designer
 

Model refactoring features:

  • Creating Table-per-type (TPT) inheritance
  • Creating Table-per-concrete type (TPC) inheritance
  • Extracting ComplexType, based on common properties of some classes
  • Using existing ComplexType

 

Yes
Yes
Yes

Yes


 

No
No
No

No

Dragging a group of properties from an entity to a diagram with automatic:

  • base class creation
  • descendant class creation
  • new class creation (table-splitting)
  • complex type creation
  • inheritance from an existing base class with the corresponding set of properties

  • mapping a new property of an existing complex type with the corresponding set of properties instead of the dragged properties


 

Yes
Yes
Yes
Yes
Yes


Yes


 

No
No
No
No
No


No
Reordering properties in an entity/complex type/storage table/enum with drag-n-drop Yes No
Dragging properties between different entities/complex types/enums Yes No
Dragging objects from Database Explorer to the diagram for creating corresponding objects in both storage and conceptual models and their mapping Yes No
Dragging objects from Database Explorer to the storage part in the Model Explorer for creating corresponding objects storage model only Yes No
Dragging objects from the storage part to the diagram for creating the corresponding objects in the conceptual part and their mapping Yes No
Dragging an entity to the Entity Developer query editor for creating an Entity SQL or LINQ to Entities query Yes No

Editable Storage Model

Entity Developer allows you to edit storage model in the GUI. In Entity Data Model designer you should edit XML manually for most operations.

Feature Entity Developer EDM designer
 
Deleting storage model objects Yes VS 2010 +
Ability to quickly navigate from a conceptual model object to the corresponding storage model object Yes No
Access to a storage model object from the conceptual model object editor of the corresponding conceptual object Yes No
Optional automatic deletion of a storage object when the corresponding conceptual model object is deleted Yes VS 2010 +1
Editing Defining Query Yes No
Creating a storage entity based on the Defining Query Yes No
Creating a conceptual model entity and mapping for it based on a storage model entity Yes No
Command Text editing Yes No
Creating a storage model function with its parameters, based on a SQL query or PL/SQL block Yes No

1 Supported only for entities.


Associations Support

Feature Entity Developer EDM designer
 
Independent Associations support Yes Yes
Foreign Key Associations support1 Yes Yes
Referential Constraint editor Yes
VS 2010 +
Many-to-many associations detection with automatic removing of the intermediate table from the conceptual part of the model Yes Yes
Ability to disable many-to-many associations detection in order to preserve the intermediate table in the conceptual part of the model Yes No

1 This functionality is not supported by Entity Framework v1, therefore it is supported since Visual Studio 2010 and higher, and in Entity Developer for Entity Framework v4 and higher models only.

Stored Procedure Support

Entity Developer provides wide support for different kinds of stored procedures, and it considers specificity of different DBMSs.

CUD Mapping (Mapping Entity CREATE/UPDATE/DELETE Operations to Stored Routines)

Feature Entity Developer EDM designer
 
Stored procedure mapping Yes Yes
Mapping CUD operations to stored functions Yes No1
Mapping procedures/functions returning Oracle CURSOR Yes No1
Ability to create a rows affected parameter Yes VS 2010 +1
Ability to map result columns to entity or complex type properties2 Yes Yes

1 You need to edit the model XML manually to create such mapping in Entity Data Model designer.

2 This functionality is not supported by Entity Framework v1, therefore they are supported since Visual Studio 2010 and higher, and in Entity Developer for Entity Framework v4 and higher models only.

Function Import and Code Generation

Feature Entity Developer EDM designer
 
Stored procedures that don't return anything Yes VS 2010 +1
Stored functions returning a scalar value as their return value Yes No2
Stored procedures, returning values through their OUT parameters Yes Yes
Stored functions, returning values through their OUT parameters Yes No2
Stored procedures or functions, returning both a resultset and other values through their OUT parameters Yes No3
Transparent support for stored routines, returning Oracle CURSORs Yes No4
Creating a complex type from a stored procedure resultset Yes VS 2010 +5
Creating a complex type from a stored function resultset, that is returned as the return value Yes No
Stored procedures, returning a collection of entities Yes Yes
Stored functions, returning a collection of entities Yes No6
Stored procedures returning a collection of complex types Yes VS 2010 +
Stored functions, returning a collection of complex types Yes No6
Stored procedures or functions, returning several resultsets as several collections of entities Yes No
Stored procedures or functions, returning several resultsets as several collections of entities and/or complex types Yes No

1 Function Import can be created, but method code generation is not supported.

2 Method code generation is not supported, and Function Import cannot be created.

3 Function Import is supported for store procedures, and code generation is partially supported, however out parameter values are not returned.

4 Oracle CURSORs can be used only after manual model XML editing.

5 This feature is supported by Entity Data Model designer only for SqlClient. Use Entity Developer for dotConnect data providers.

6 You need to edit the model XML manually to create such mapping in Entity Data Model designer.

Design-time Model Validation

Entity Developer always validates your model while you are editing it and highlights errors on diagrams. All errors and warnings automatically appear in the Error List window.

Feature Entity Developer EDM designer
 
Background validation after modifying model Yes No
Highlighting invalid objects on diagrams Yes No
Warnings about unused complex types Yes No
Warnings about unused storage model objects Yes No

Testing Model by Retrieving Data and Executing Queries While Designing Model

Entity Developer allows retrieving and editing data from database tables, retrieving data from entities to validate the mapping and testing your model with LINQ to Entities and Entity SQL queries while designing your model. You don't need to compile your application or create any test code for it.

Feature Entity Developer EDM designer
 
Editing data of database tables from Database Explorer Yes Yes
Retrieving data for model entities to validate their mapping Yes No
Editor for creating and executing Entity SQL and LINQ to Entities queries with the ability to edit and save them for the future use Yes No

Diagram Features

Feature Entity Developer EDM designer
 
Selection driven highlighting Yes VS 2012 +
Capability for changing the shape color Yes VS 2012 +
Displaying complex types on diagrams with complex type specific display options Yes No
Displaying enum types on diagrams with enum type specific display options1 Yes No
Setting diagram display options in a convenient dialog box on per-diagram level Yes No
Setting default diagram display options and diagram object behaviour options for all new diagrams Yes No
Sticker notes for adding comments to diagrams Yes No
The ability to add a stamp, specifying diagram author, company, version, copyrights, project name, and date, to a diagram Yes No
Skins to change the diagram appearance Yes No

1 Supported only in Entity Framework v5 and higher.

Code generation

Feature Entity Developer EDM designer
 
T4 template-based code generation with custom template support Yes VS 2010 +
Refactoring - renaming of model objects, properties, changing namespaces in current Visual Studio solution Yes VS 2012 +

Predefined templates for code generation:

  • strongly-typed ObjectContext class and persistence-aware classes (EntityObject)
  • strongly-typed DbContext class and persistence ignorant entity classes (DbContext)
  • strongly-typed ObjectContext class and self-tracking entity classes (Self-Tracking)
  • strongly-typed ObjectContext class and classes with persistence ignorance (POCO)
  • Repositories and a Unit of Work (Repository And Unit of Work)
  • Data Transfer Object (DTO) classes (Data Transfer Object)
  • Data Annotations Metadata classes and data annotation attibutes for entity classes and properties (Data Annotations Metadata)
  • WCF RIA Services domain class (WCF RIA Domain Service)

 

  • Yes
  • Yes
  • Yes
  • Yes
  • Yes
  • Yes
  • Yes

 

Flexible customization of the generated code output, including specifying project and project folder or the file system path for output Yes No
Ability to specify custom .NET attributes, that will be present in the generated code, for model objects Yes No
Ability to generate code for each entity class in a separate file Yes VS 2012 +
Ability to generate an additional file with a partial entity class for extending it manually, that is not rewritten when generating code, for each entity class Yes No
Ability to specify validation framework to validate the properties values of generated classes Yes No
Convenient built-in template editor with syntax highlighting, intellisense, navigation to declaration and definition, navigation between linked templates, etc. Yes No
Ability to declare and set extended properties of model objects at design-time Yes No

1 For Visual Studio 2010 should be downloaded separately as a NuGet package.

2 Should be downloaded separately as a NuGet package.

3 Should be downloaded separately as a NuGet package, and has much less powerful functionality than the corresponding Entity Developer template.

4 Visual Studio provides the WCF RIA Services domain class via a wizard instead of a template.

Other Features

Feature Entity Developer EDM designer
 
Ability to copy model objects and to paste them to another model together with their mapping and the corresponding storage model objects Yes No
Convenient editor dialog boxes for all the model objects, their mapping, and settings Yes No
Automatic Entity Framework 6 provider registration Yes No1
Automatic download and installing of the EntityFramework NuGet package. Yes VS 2012 +
Automatic check for a new version Yes No
More comprehensive documentation Yes No
Context help with F1 Yes No
First-class user support Yes No

1 In order to work with dotConnect Entity Framework 6 providers in EDM Wizard you should register them manually as described in our blog post.

ORM Designer