Late last summer (2007), developers first heard about the ADO .NET Entity Designer -- a tool that permits direct mappings between a database schema and a conceptual schema. This tool permits designers to relate tables from a database schema to Entity Types that the ADO .NET Entity Designer can create and manipulate. Alas, this powerful and potentially labor-saving tool was pulled back from the release as Orcas/.NET Framework 3.5 made its way onto the stage in November 2007 under product names Visual Studio 2008 and .NET Framework 3.5.
Now that Microsoft has announced a beta for Service Pack 1 for Vista Studio 2008 and .NET Framework 3.5, the ADO.NET Entity Designer is back. Other interesting elements in this pre-release include enhancements to designers that build Windows Presentation Foundation (WPF) applications, complete support for SQL Server 2008, new Visual Basic and Visual C++ tools and components (including n MFC-based Office 2007 style "Ribbon" interface widget), performance boosts for WPF applications thanks to runtime environment upgrades (no code changes required), WPF and Visual Designer changes, a .NET Framework 3.5 Client Profile, and numerous "new and improved" ADO.NET features and functions.
Microsoft describes the ADO.NET Entity Framework as "the next evolution of ADO.NET," in that it increases the level of data abstraction available to developers. This framework permits database structures or other data sources (primarily XML-based) to evolve without requiring application code to change very much to follow suit. The guiding idea is that the Entity Designer makes it easy to establish and abstract data linkages to applications, so that developers can simply tweak entity designs later on, instead of having to root around within methods and classes defined within their application environments.
In different terms, what happens is that applications stop addressing relational tables in terms of rows and columns, as has mostly been the case up to now, and switch to a higher-level Entity Data Model that describes relational data, and defines the means by which developers interact with such data going forward. When the database changes, the model can be tweaked, but the application itself would not have to change much, if at all, to keep accessing it. The ADO .NET Entity Designer even supports complex data modeling features that include complex types, inheritance, and explicit relationships.
LINQ may be used to query Entities within the ADO.NET Entity Framework to create code that is easy to maintain, and that works with strongly typed data objects as well as with various types of business entities. For more information, visit the download page. If you have already installed any Visual Studio 2008 Hotfixes, be sure to run the Hotfix Cleanup Utility before installing this beta code.
Ed Tittel is a writer and trainer whose interests include XML and development topics, along with IT Certification and information security. E-mail firstname.lastname@example.org with comments, questions, or suggested topics or tools to review. Cool tools rule!