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
|
|
|
|
Table-per-type (TPT) mapping
|
|
|
|
Table-per-concrete type (TPC) mapping
|
|
|
|
Unmapped abstract types
|
|
|
|
Table splitting
|
|
1
|
|
Entity splitting
|
|
|
|
QueryViews
|
|
|
|
Complex types
|
|
|
|
Enum types2
|
|
|
|
Powerful Inheritance Editor dialog box
|
|
|
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 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.
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 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
|
|
|
|
The ability to split a model into several diagrams manually or automatically when
creating it using Database-First approach
|
|
|
|
Search for an object on the current diagram
|
|
|
|
Search for an object on all model diagrams, where it is present, even if they are closed
|
|
|
|
Automatic navigation to the object, selected in the Model Explorer, on the diagram and vice versa
|
|
|
|
Diagram Overview toolwindow
|
|
|
|
Fast generation of a large model when using Database-First approach because of taking
into account the specific functionality of each database server
|
|
|
|
Built-in ability to enable view pregeneration for speeding up the first query execution
in run-time
|
|
|
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.
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
|
|
|
|
Ability to quickly navigate from a conceptual model object to the corresponding
storage model object
|
|
|
|
Access to a storage model object from the conceptual model object editor of the
corresponding conceptual object
|
|
|
|
Optional automatic deletion of a storage object when the corresponding conceptual
model object is deleted
|
|
1
|
|
Editing Defining Query
|
|
|
|
Creating a storage entity based on the Defining Query
|
|
|
|
Creating a conceptual model entity and mapping for it based on a storage model entity
|
|
|
|
Command Text editing
|
|
|
|
Creating a storage model function with its parameters, based on a SQL query or PL/SQL
block
|
|
|
1 Supported only for entities.
Associations Support
|
Feature
|
Entity Developer
|
EDM designer
|
|
|
|
Independent Associations support
|
|
|
|
Foreign Key Associations support1
|
|
|
|
Referential Constraint editor
|

|
|
|
Many-to-many associations detection with automatic removing of the intermediate
table from the conceptual part of the model
|
|
|
|
Ability to disable many-to-many associations detection in order to preserve the
intermediate table in the conceptual part of the model
|
|
|
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 v5 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
|
|
|
|
Mapping CUD operations to stored functions
|
|
1
|
|
Mapping procedures/functions returning Oracle CURSOR
|
|
1
|
|
Ability to create a rows affected parameter
|
|
1
|
|
Ability to map result columns to entity or complex type properties2
|
|
|
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 v5 models only.
Function Import and Code Generation
|
Feature
|
Entity Developer
|
EDM designer
|
|
|
|
Stored procedures that don't return anything
|
|
1
|
|
Stored functions returning a scalar value as their return value
|
|
2
|
|
Stored procedures, returning values through their OUT parameters
|
|
|
|
Stored functions, returning values through their OUT parameters
|
|
2
|
|
Stored procedures or functions, returning both a resultset and other values through
their OUT parameters
|
|
3
|
|
Transparent support for stored routines, returning Oracle CURSORs
|
|
4
|
|
Creating a complex type from a stored procedure resultset
|
|
5
|
|
Creating a complex type from a stored function resultset, that is returned as the
return value
|
|
|
|
Stored procedures, returning a collection of entities
|
|
|
|
Stored functions, returning a collection of entities
|
|
6
|
|
Stored procedures returning a collection of complex types
|
|
|
|
Stored functions, returning a collection of complex types
|
|
6
|
|
Stored procedures or functions, returning several resultsets as several collections
of entities
|
|
|
|
Stored procedures or functions, returning several resultsets as several collections
of entities and/or complex types
|
|
|
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
|
|
|
|
Highlighting invalid objects on diagrams
|
|
|
|
Warnings about unused complex types
|
|
|
|
Warnings about unused storage model objects
|
|
|
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
|
|
|
|
Retrieving data for model entities to validate their mapping
|
|
|
|
Editor for creating and executing Entity SQL and LINQ to Entities queries with the
ability to edit and save them for the future use
|
|
|
Diagram Features
|
Feature
|
Entity Developer
|
EDM designer
|
|
|
|
Selection driven highlighting
|
|
|
|
Capability for changing the shape color
|
|
|
|
Displaying complex types on diagrams with complex type specific display options
|
|
|
|
Displaying enum types on diagrams with enum type specific display options1
|
|
|
|
Setting diagram display options in a convenient dialog box on per-diagram level
|
|
|
|
Setting default diagram display options and diagram object behaviour options for all new diagrams
|
|
|
|
Sticker notes for adding comments to diagrams
|
|
|
|
The ability to add a stamp, specifying diagram author, company, version, copyrights,
project name, and date, to a diagram
|
|
|
|
Skins to change the diagram appearance
|
|
|
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
|
|
|
|
Refactoring - renaming of model objects, properties, changing namespaces in current
Visual Studio solution
|
|
|
|
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)
|
|
|
|
Flexible customization of the generated code output, including specifying project
and project folder or the file system path for output
|
|
|
|
Ability to specify custom .NET attributes, that will be present in the generated
code, for model objects
|
|
|
|
Ability to generate code for each entity class in a separate file
|
|
|
|
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
|
|
|
|
Ability to specify validation framework to validate the properties values of generated
classes
|
|
|
|
Convenient built-in template editor with syntax highlighting, intellisense, navigation
to declaration and definition, navigation between linked templates, etc.
|
|
|
|
Ability to declare and set extended properties of model objects at design-time
|
|
|
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.
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
|
|
|
|
Convenient editor dialog boxes for all the model objects, their mapping, and settings
|
|
|
|
Automatic check for a new version
|
|
|
|
More comprehensive documentation
|
|
|
|
Context help with F1
|
|
|
|
First-class user support
|
|
|