Skip navigation

Despite Shortcomings, Entity Framework's Future Is Bright

Paving the way for a future as an excellent ORM

Learn more: Demystifying Entity Framework 4

Since the original release of the .NET Framework, one of the more popular components available to developers is the ADO.NET DataSet. The DataSet has everything a developer needs to support an application: data storage and interrelation, data modification support, offline storage, flexible and dynamic structure, and error detection. Even now, you can still use ADO.NET DataSet in development environments such as ASP.NET Web Forms and MVC and Windows Forms (although certain attributes of its infrastructure may cause complications in certain environments).

ADO.NET has come a long way since the inception of the DataSet. DataSets certainly met past development needs and continue to meet future needs. However, ever-changing times require meeting new demands from Microsoft customers, which has led to the shift toward Object-Relational Mapper (ORM) tools. Language Integrated Query (LINQ) to SQL is one such tool, but unfortunately it's not going to receive any new major features, allowing Microsoft to pave the way for its future product line: ADO.NET Entity Framework.

WCF Support
In addition to providing an ORM tool, Entity Framework has certain integration goals. For instance, the framework supports Windows Communication Foundation (WCF); the generated entity code appends the WCF data contract attributes to each of the entity objects. Entity Framework also supports LINQ, which can query objects, XML, database data, and so on using the same query syntax and structure. Being able to apply a similar query using ADO.NET Entity Framework rather than a standard set of objects provides many benefits and gives a user a wider range of applicability.

Additionally, ADO.NET Entity Framework is widely supported in all current development environments. On the web, as ASP.NET pushes for richer web experiences, ADO.NET Entity Framework supports streaming of its data using WCF services, as well as traditional web services. A new addition to the Entity Framework platform, ADO.NET Data Services, is also available, using REST-based techniques to query data from the context and serving it up to the client. Many clients can consume the web service—including AJAX, which provides support for using a client-side object context to query or modify data—and send those results back to the server.

With Silverlight, RIA Services provides a similar capability: the ability to generate a proxy for the object context. The client can add, update, or delete data in the UI; RIA services ships these changes back to the server to commit them. Additionally, with advances in cloud computing, using Entity Framework with SQL Azure gives you the power of multi-computer processing, while still retaining the core framework.

The Next Version
The ADO.NET team is working hard to produce the next version of Entity Framework, which will include features such as the ability to define validation data annotations that the framework verifies before changes are committed to the database. Developers will also be able to execute raw SQL commands using the SQLQuery and SQLCommand objects, in addition to all the code-first updates. Currently, the next release of Entity Framework is scheduled for first quarter 2011 and, hopefully, it will be available by the time this editorial is published.

Entity Framework has shortcomings, but it has come a long way since version one. And with all its latest add-ons, Entity Framework is paving the way for its future as an excellent ORM.

If you would like to contribute to the future of the Entity Framework product, please vote for the features you would like added by using the UserVoice community page.

Brian Mains ([email protected]) is a Microsoft MVP and consultant with Computer Aid, where he works with nonprofit and state government organizations.

Hide comments

Comments

  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.
Publish