DevForce: Extend the Entity Framework

Data management done right.

DevForce delegates the mapping between objects and relational database schemes, as well as database persistence operations (queries and saves), to the Entity Framework—the standard for database access in .NET applications. These are important and challenging tasks that the Entity Framework handles well, but there's much more to an application than how it handles raw data.

What about the business object layer that encapsulates and governs data with business rules? What about the higher layers that address application workflow and user experience? The Entity Framework doesn't address these difficult data management issues, but DevForce does.

 DevForce builds on the strengths of the Entity Framework, and then extends them with n-tier architecture, multiple data sources, non-relational data sources, and superior client application performance.

Infrastructure for n-tier applications

The Entity Framework only supports a 2-tier architecture in which the client machine speaks directly to a relational database server. DevForce implements end-to-end, multi-tier (n-tier) architecture.

Multiple data sources

The Entity Framework only supports one database per Entity Data Model. DevForce lets you define a single domain model that holds entities from multiple data sources and use navigation properties to move seamlessly between them. Saving back to these data sources is just as seamless as DevForce can encapsulates all of the changes into a single transaction.

If you have the "reverse" problem—a database that is too large— you can use DevForce to break up a large database into multiple smaller models that are easier to maintain and deploy.

Non-relational data sources

The Entity Framework can only map entities to relational databases. DevForce's POCO (Plain Old CLR Object) support allows any data source that can be exposed as an enumeration to be used as a data source, enabling developers to work with a uniform, consistent object mode, regardless of the backing store.

Client application performance

Data access is the number one performance killer. Large volumes of data are deadly. Frequent trips to the server are worse. The Entity Framework doesn't remember previous queries, meaning developers cannot query its primitive entity cache and cannot query asynchronously.

The ability to retrieve persistent data from a database is one of the powerful and useful aspects of DevForce. DevForce has a query-able entity cache, a query cache, and offers asynchronous queries that can hide the actual cost of a remote query as perceived by the end user.

Intermittently connected and offline apps

Entity Framework applications are vulnerable to temporary connection failures. DevForce applications have the means to survive transient connectivity and to thrive offline.

 

Security

The Entity Framework has no intrinsic security features. Because of it two-tier approach, the security burden falls entirely on the network and the database. Security in DevForce is supported by a rich variety of standard and custom authentication techniques and provides encryption and authorization points on both client and server.

Code First

Code First lets developers build their entity model classes without struggling with EDMX, visual designer, or database changes that put the model at risk. Code First is a welcome addition for developers who prefer to focus on their model and classes rather than the database.

DevForce supports Code First … and Code Second development! Code Second development is what happens when real-world developers want to work in a Code First style with an existing Database First model. We'll show you how to convert a Database First model to a Code First model in less than five minutes.

Download DevForce Express and see how DevForce makes development easier.