Microsoft Releases Entity Framework Beta 3

Microsoft released Entity Framework Beta 3 on Dec. 6, and the company also officially announced the third-party database vendors and ADO.NET 2.0 data providers that have agreed to support the framework.

The ADO.NET Entity Framework is the latest Microsoft technology to support the RTM versions of .NET 3.5 and Visual Studio 2008.

Entity Framework Beta 3 provides the data access APIs for .NET 3.5. It follows Entity Framework Beta 2, released in August, which is built on .NET 3.5 Beta 2.

In addition to support for the final versions of .NET 3.5 and Visual Studio 2008, Beta 3 provides new features, bug fixes and major performance enhancements.

"We've got faster view generation, some simpler generated SQL -- we've taken a lot of feedback from customers in some of these areas," said Elisa Flasko, program manager for the Data Programmability team at Microsoft. Beta 3 also offers more similarities to SQL, such as the use of partial methods in code generation for certain property-changed events.

"The changes have mostly been around the mapping and in the Entity Data Model of the Entity Framework itself," Flasko said. "As far the LINQ implementation [LINQ to Entities], it has mostly been fit and finish." Users can, however, now do compiled LINQ query for better performance.

Roger Jennings, principal consultant at Oakleaf Systems, who is using Beta 3, called it a major update.

"With Beta 3, it is coming into shape," he said. "There are substantial performance improvements -- that was one of the problems. Almost everything involved with queries is faster now."

Developers who have been using Beta 2 should note that there are breaking changes in Beta 3. "Most of them are not huge code changes," asserted Flasko.

New Tools CTP
Beta 3 requires the Entity Framework Tools December 2007 CTP, which was also posted Dec. 6 and is available for download on MSDN. This is the second CTP; the first preview was released in August.

In the latest tooling preview, the Entity Data Model Designer adds the ability to used stored procedures as an alternative to dynamic SQL for populating entities.

"We've had the ability for a while in the runtime to use stored procedures in SQL Server behind the Entity Framework rather than dynamic SQL," explained Flasko. "Now the tooling experience will allow you to use the tooling rather than having to code by hand to hook those two things up."

The Entity Framework is built on ADO.NET, a connection technology that allows .NET users to access third-party databases. The framework provides a conceptual model for database schema that makes it easier for developers to program against business logic, according to Microsoft.

Provider Writers
ADO.NET 2.0 data providers that have committed to support the ADO.NET Entity Framework include Core Lab, DataDirect Technologies, IBM, MySQL and Sybase, among others. These companies are planning to extend their data providers to support the framework -- three months after it RTMs, or by year's end.

Oracle is not on that list. "We have been working with them, but at this point what we have are the providers that are included in the press release," Flasko said.

Microsoft is planning to release the ADO.NET Entity Framework and the ASP.NET 3.5 Extensions, which will include the REST-based data services model (code-named Astoria), in the same time frame. All of these technologies are expected in the first half of 2008, but the actual productization has not been finalized.

"We haven't locked down the ship vehicle for ASP.NET 3.5 Extensions," Flasko explained.

The upcoming CTP of ASP.NET 3.5 Extensions, expected this month, offers the first public preview of the model-view-controller (MVC) option, support for REST, additional AJAX functionality and Dynamic Data Controls. The data controls, which include a scaffolding framework, will be provided by an open source .NET toolset, SubSonic.

About the Author

Kathleen Richards ([email protected]) is the editor of and executive editor of Visual Studio Magazine.