This morning we announced the availability of the Visual Studio 2008 and .NET Framework SP1 Beta releases, and now you're probably wondering... well what's changed? Here goes...

Across the Entity Framework we have made numerous bug fixes (more than 200 of them). We've also made some significant documentation enhancements and exception message improvements to the Entity Framework.

You'll notice significant improvements specifically to the Entity Designer, where we made many of changes that you, our customers, had submitted to us over the last few months. You'll also notice a number of improvements to the Entity Framework Runtime including support for the new SQL Server 2008 types as specified below, query improvements and the introduction of the new EntityDataSource. Check out the lists below for a full description of changes.

 

Entity Designer

  • EDMX file format changes
    • The EDMX file has changed in this release and has been reorganized to have the designer section at the end
    • Users can no longer have an EDMX file open in the Entity Designer and the XML Editor at the same time

NOTE: As a result of these changes, EDMX files from older releases will need to be regenerated in this version of the Entity Designer

  • Update Model from Database
    • The current release improves this functionality and adds better support for iterative development scenarios. Among other improvements, it better handles new database tables and columns added to the database. It also accounts for entity type and property renames in the conceptual model and detects certain inheritance and mapping changes
    • The overall usability of the Update Model from Database wizard has also been improved based on feedback.
  • Printing and print preview
    • Conceptual models can be previewed and printed using the standard “File…Print” menu in Visual Studio
  • Getting around in the designer
    • Context menus have been organized to make common user tasks easier to use and discover
    • “Table Mapping” and “Stored Procedure Mapping” context menus added
    • Mini-toolbar on the scroll bar to quickly zoom, pan and navigate to an specific part of the diagram
  • UX and usability improvements
    • Improved validation error messages
    • Improved error navigation when double-clicking errors
    • Enhancements to property window contents for navigation properties to show association ends
    • F1 Help
    • Cut/Copy/Paste improvements for entity and properties
  • We fixed over 200 issues reported by customers since our Dec 2007 release. Here’s a bird’s eye view of the bugs fixed:
    • Bug with running the wizard when App/Web Config was open is fixed
    • Various mapping bugs are fixed
    • Much better support for mapping in TPH and TPT inheritance scenarios, better support for mapping stored procedures and better support for abstract types and hybrid mapping scenarios
    • Better build support; clean, rebuild, build all work better
  • Support for generating model & mappings from SQL Compact 3.5 SP1 databases

SQL 2008 Support

  • Full support for new Katmai data types: Date, DateTime2, DateTimeOffset and Time
  • Partial support (non-streaming only) for new Katmai FileStream data type

Metadata

  • Ability to have metadata files to come from any stream rather than just disk files
  • Change SQL Server provider manifest tokens to a human-understandable format (e.g. 2008, 2005, 2000)
  • Explicitly bind SSDL to a specific provider
  • Facets refactoring in CSDL

Query Improvements

  • Queries can now be compiled without an open connection
  • Simplification of generated store queries (e.g. less tables are joined for certain queries)

EntityClient

  • Exception refactoring in EntityClient
  • Big performance improvement on EntityClient result materialization
  • DbFunctionCommandTree introduced for non-SQL Server providers to handle retrieval through stored procedures

Object Services

  • Non-generic ObjectQuery base class with common services (e.g. ToTraceString, MergeOption)
  • Non-generic ObjectResult base class for generalized query handlers
  • DataContract full graph serialization and DataContract serialization of EntityReference and EntityCollections
  • OnContextCreated() partial method allows business logic hooks after ObjectContext creation
  • Improvements to RelationshipManager.GetAllRelatedEnds() to return all RelatedEnds even if they have not been previously accessed
  • Non-generic EntityReference base class helps to distinguish between EntityCollection and EntityReference without using reflection and provides access to the EntityReference.EntityKey
  • ObjectStateManager.GetObjectStateEntry(object entity) and ObjectStateManager.TryGetObjectStateEntry(object entity) methods were added back

LINQ to Entities

  • Support for EntityCollection.Count in queries
  • Improvements in using query span in combination with LINQ and CompiledQuery
  • Support for queries that test equality or group on an entity value
  • Circular reference detection in queries

EntityDataSource for ASP.NET

  • Declarative ASP.NET 2-way databinding against EDM
  • Design time support
  • Flattening of complex types and EntityReference keys
  • ASP.NET Dynamic Data Support

 

- The ADO.NET Team