Performance improvements and new data providers are among the enhancements to the latest version of the ADO.NET Entity Framework, which was released last week as a Beta 3 version, along with the December 2007 CTP of the Entity Framework designer tools.
The improvements are said to speed LINQ-to-SQL performance some developers had found overly slow in previous betas. Speed and ease of programmability of stored procedures is also claimed.
The ADO.NET Entity Framework is expected to ship in the first half of 2008. It was a candidate for, but eventually removed from, Microsoft's recent Visual Studio 2008 release.
With VS 2008 just out of the blocks, the release barrage from Microsoft is picking up speed again.
At the same time that ADO.NET Entity Framework Beta 3 was announced, Microsoft formally changed the name of its Astoria REST data designer project to ADO.NET Data Services. That software recasts relational data as a service that can be consumed by client applications in networks and across the Internet.
Along with ADO.NET Entity Framework and ASP.NET Data Services comes ASP.NET MVC (Model View Controller), which provides a model-view-controller for the ASP.NET 3.5 runtime that lets developers use a design pattern popular in Java and other programming circles. MVC was released as part of Microsoft's Microsoft ASP.NET 3.5 Extensions Preview.
Meanwhile, assorted third-party data software vendors have now pledged to provide new providers for the ADO.NET Entity Framework. These include DataDirect Technologies, IBM, MySQL AB, OpenLink Software, Sybase and others.
The ADO.NET Entity Framework is part of a long-range plan, said Elisa Flasko, program manager in the Data Programmability group at Microsoft. "We have a number of long-term objectives. One is to create a conceptual model that can be used in many situations,'' she said. ''We are, for example, in a place where we have reporting services on top of SQL Server. Long term, we are looking at other services that can build on top of it."
There were only a few features added to the new version, said Flasko, with attention placed on bug fixes and performance enhancements. The latter, she said, include improvements to LINQ queries, which are now complied at the same time that an application is compiled, rather than every time a query is made.
Flasko said the Entity Framework is really an evolution of the original ADO.NET. It is ambitious in that its higher level of abstraction positions it to support various types of services architecture. It is intended to help both developers and DBAs as, in Flasko's words, "it makes it easier for the DB to evolve separately from the applications."
With the Entity Framework, Microsoft hopes to regain the type of market traction it experienced with ODBC, ADO and ADO.NET. Microsoft stumbled in the data realm with it its ObjectSpaces O/R mapping software as well as its grand, but unfinished, WinFS effort. The Entity Framework can play a role in object-relational programming, but it appears to be a complementary one.
"The Entity Framework is not an ORM in the traditional sense but instead is a tool for mapping Entities as they exist in an enterprise or project," said Microsoft MVP, ADO.NET expert and author Shawn Wildermuth. "The real power of 'EF' comes from the ability to query aspects of the [data] model through the knowledge that is built into the model." Currently at work on his Silverlight-tour.com project, Wildermuth spoke via e-mail.
Wildermuth describes LINQ-for-SQL as a simple ORM. ''It is meant for prototyping, or small/short lived projects, '' he wrote.
"It's great to build the Mom-n-Pop store Web site, but I wouldn't use it in many real business scenarios as it is not very tunable and other ORMs are superior if you need a straight ahead ORM," Wildermuth said. Examples of superior alternative ORMs, he noted, were Hibernate, LLBGenPro and Wilson ORMapper.
"The EF seems to try to make all O/R mapping frameworks irrelevant to some extend, it tries to be the one truly framework you'll ever need for data-access," said Frans Bouma, lead developer for LLBGenPro. "As there's no silver bullet, I have the feeling their goal is a bit too ambitious." (Bouma, too, corresponded with SearchWinDevelopment.com via e-mail.)
With the Entity Framework it sometimes gets very complex to effectively manage entity sets, relationships, and the like, Bouma indicated. The designer, he noted, now looks promising: "It is at least better than what they had in the early stages."