Up Refine in the EDM Designer

Advanced modeling topics

Last modified on August 15, 2012 17:20

DevForce supports more than the simple mapping of tables to entities we've already discussed.  Here we'll briefly discuss more advanced modeling topics using the Entity Data Model (EDM) designer.


Data Providers

DevForce works with any of the ADO.NET data providers which support the Entity Framework.  You can find more information here.

Inheritance

DevForce supports all the forms of inheritance, table mapping and splitting that the Entity Framework supports. 

Note that there may be performance implications with some of these techniques.

Stored procedures

DevForce supports stored procedures for both query and create, update and delete actions.

Complex types

We've discussed complex types separately in some detail, but here's additional information.

Many-to-many

DevForce supports many-to-many relationships in the same way as the Entity Framework.  If the join table in the database contains no extra payload then the EDM Designer defines only an association in place of a "join entity".  If the table contains payload (i.e., additional properties other than the foreign keys) then an entity is created for the table.

Cascading deletes

DevForce defines the same rules for cascading a delete on a relationship as the Entity Framework does.  When you want to automatically delete all of the child records of a parent when the parent record is deleted you can specify the cascade delete rule.  As with EF, it is strongly recommended that you specify the cascade delete rules in both the conceptual model and the database. The reason for this is that DevForce will delete only the related objects currently loaded into the entity cache.

Concurrency

DevForce supports optimistic concurrency via the Entity Framework.  The EF allows you to define one or more concurrency properties for your entities; DevForce extends this support by also allowing you to define a concurrency strategy for each.   

Learn more

Tags: Model EDM
Created by DevForce on April 20, 2011 17:44

This wiki is licensed under a Creative Commons 2.0 license. XWiki Enterprise 3.2 - Documentation. Copyright © 2020 IdeaBlade