VS08 SP1, officially released 8/11/08, finally includes the EF, the Entity Data Model (EDM) and LINQ to Entities. EDM is a full-blown language-independent, database-independent entity-relationship model. It is supported by an Entity SQL language and is potentially useful for data-centric line-of-business applications. LINQ to Entities integrates queries against entities into C# and Visual Basic, which may obviate the need to learn the subtleties of Entity SQL for many programmers.
Note that Entity SQL is significantly different from the Transact-SQL query language used in Microsoft SQL Server. Speaking of SQL Server, SP1 adds full support for SQL Server 2008 to Visual Studio 2008, hot on the heels of the release of SQL Server 2008.
The major new Web features of SP1 are ASP.Net Dynamic Data and URL Routing. Both seem to have been influenced by the popularity of Ruby on Rails, in that they support the Model-View-Controller pattern and quick generation of Web pages from database schemas.
Dynamic Data lets you build a basic data-driven Web application very quickly, based on a data model, in much the same spirit as building a Rails scaffold application. It also improves the way the data-bound controls work, adding validation and templates. The MSDN walk-through of creating a new dynamic data Web site using scaffolding includes two ways of creating the data model: one using LINQ to SQL and the other using the Entity Framework. Check the Dynamic Data in Action section of the official ASP.Net page for a series of video tutorials.
URL Routing lets you create routing tables for your ASP.Net Web sites. This is a feature that was originally developed for the ASP.Net MVC Framework, which is still in preview; it was useful enough by itself that it was split off and released with SP1. The MVC Framework looks roughly like what you’d expect if you saw a proposal whose one-line sell was “ASP.Net meets Rails.”
What does URL routing actually do for you? Instead of having to use HTTP POST or query syntax to get to a data-dependent page, or having to do URL rewriting, you can use an ordinary-looking URL and have it translated by a routing table, which is more consistent with RESTful design and with the way search engines work — and more like Rails.
Speaking of REST support, the new Windows Communication Foundation (WCF) Web Programming Model adds support for REST, AJAX and JSON services, and both ATOM and RSS feeds. This is on top of WCF’s already strong support for XML Web services, the WS-* stack and an efficient but proprietary binary protocol. Who says Microsoft is out of touch with Web 2.0 and SOA?
I haven’t found any downside to installing VS08 SP1, other than the time; it took me several hours to download and install it over a relatively good, bonded T1 connection. Once installed, the SP1 changes are, in my experience, all good. Unless you have add-ons or SDKs that still require Visual Studio 2005 (the .Net Micro Framework comes to mind), I don’t see any reason for a Microsoft shop not to completely switch over to Visual Studio 2008 SP1.