ASP.NET VERSIONS: 2.0
Objectify Your Application s Data
Use ADO.NET vNext to Isolate the Logical Model of Data from Your Application s Object Model by Raising the Level of Abstraction
By Joydip Kanjilal
ADO.NET vNext is the new version of ADO.NET that can de-couple your applications from the relational or logical model by providing a layer of abstraction on top of your relational model. As a result, your application remains un-affected, even if the underlying database schema changes. This article discusses what ADO.NET vNext is and what it has to offer.
What Is ADO.NET Entity Framework?
ADO.NET Entity Framework (also called ADO.NET vNext) promises to be the next generation of Microsoft s data access technology. Microsoft s vision in this regard is to provide a framework that can raise the level of abstraction and eliminate the impedance mismatch that exists between the relational or logical model and the object model. It is much more than an Object Relational Mapping technology you have entity inheritance and change tracking, and more!
MSDN states, A primary goal of the ADO.NET Entity Framework is to raise the level of abstraction available for data programming, thus simplifying the development of data aware applications and enabling developers to write less code. The Entity Framework is the evolution of ADO.NET that allows developers to program in terms of the standard ADO.NET abstraction or in terms of persistent objects (ORM) and is built upon the standard ADO.NET Provider model which allows access to third party databases.
You can learn more about Entity Framework in my upcoming book, Data Persistence with the Entity Framework from Packt Publishing. I will soon post details about the book on my blog.
The ADO.NET Entity Framework provides the following features:
- The Entity Data Model (EDM) that provides a layer of abstraction on top of the logical view of data.
- A powerful query language called Entity SQL to query the EDM.
- Support for querying data from the EDM using an extensible mapping provider.
- An Object Services Layer that provides added services such as identity resolution and change tracking.
- Support for querying data from the EDM using LINQ.
The Entity Data Model is a conceptual model that includes:
- Structural inheritance
Entity Data Model: Raising the Level of Abstraction
The ADO.NET Entity Framework makes use of mapping files to isolate your application s code from any changes in the relational schema. In essence, the logical model is abstracted from the object model when you write programs to query data, you only query the conceptual model of data the Entity Data Model. The Entity Data Model is actually the core of the Entity Framework and is responsible for providing the level of abstraction between the relational or the logical model and the object model.
The Entity Data Model is comprised mainly of three types of files that describe and define the XML schema for:
- CSDL (Conceptual Data Language)
- SSDL (Store-specific Data Language)
- MSL (Mapping Schema Language)
You can query data against the Entity Data Model in one of the following ways:
- LINQ to Entities
- Entity SQL
- Object Services
The ADO.NET Entity Framework enables you to raise the level of abstraction by turning your logical data model into a conceptual data model, based on some basic principles: entities, relationships, and inheritance. This article has had a brief look at the ADO.NET vNext and its features. Also called the ADO.NET Entity Framework, it is to be released soon and promises to be Microsoft s technology of choice for the next generation of data access using ADO.NET. You ll find more details on this awesome offering from Microsoft in my upcoming book titled Data Persistence with the Entity Framework from Packt Publishing. Please send me your comments. Happy reading!
Joydip Kanjilal is a Microsoft MVP in ASP.NET. He has more than 12 years of industry experience in IT with more than six years in Microsoft .NET and its related technologies. He has authored articles for some of the most reputable sites, including http://www.asptoday.com, http://www.devx.com, http://www.aspalliance.com, http://www.aspnetpro.com, http://www.sql-server-performance.com, and http://www.sswug.com. Many of these articles have been selected at http://www.asp.net, Microsoft s official site for ASP.NET. Joydip was also a community credit winner at http://www.community-credit.com a number of times. He is currently working as a Lead Architect in a reputable company in Hyderabad, India. He has years of experience in designing and architecting solutions for various domains. His technical strengths include, C, C++, VC++, Java, C#, Microsoft .NET, AJAX, Design Patterns, SQL Server, Operating Systems, and Computer Architecture. Joydip blogs at http://aspadvice.com/blogs/joydip and spends most of his time reading books and blogs, and writing books and articles. His hobbies include watching cricket and soccer and playing chess.