Entity Framework Goes Open Source

This is probably a bit of a late announcement, but Microsoft has elected to make the Entity Framework an Open Source project on CodePlex!  The first officially supported packages (from the open source project) are  rumoured to be integrated as of Entity Framework v6 (as the Entity Framework team are currently working on version 5).

The main reason for the move to open source, evidentially, is to allow the developer community to build more providers for the Entity Framework.  This would allow potentially any database (or database alternative) to be used with an Entity model.  Exciting!

If you want to check out the current status of the Entity Framework (both Database-first and Code-first) you can download the Entity Framework 5 Release Candidate via Visual Studio’s distributed Package Manager -  NuGet.  The latest version includes a number of improvements and additions including (FINALLY!) support for Enums.

I might consider writing a separate article on the installation and use of NuGet just in case there are folks out there who haven’t installed and used it yet.  If you are interested in an article on using NuGet please leave a comment here.

To find out more about what is coming in the next version of the Entity Framework v5 check out the following link.  Here’s what I gleaned from the overview:  Note that it doesn’t appear that v5 will contain support for “Navigation Properties” (Foreign Keys/Relationships) from Unique Constraints!!

What’s New in EF5?

EF 5 includes bug fixes to the 4.3.1 release and a number of new features. Most of the new features are only available in applications targeting .NET 4.5, see the Compatibility section for more details.

  • Enum support allows you to have enum properties in your entity classes. This new feature is available for Model, Database and Code First.
  • Table-Valued functions in your database can now be used with Database First.
  • Spatial data types can now be exposed in your model using the DbGeography and DbGeometry types. Spatial data is supported in Model, Database and Code First.
  • The Performance enhancements that we recently blogged about are included in EF 5.
  • Visual Studio 11 includes LocalDb database server rather than SQLEXPRESS. During installation, the EntityFramework NuGet package checks which database server is available. The NuGet package will then update the configuration file by setting the default database server that Code First uses when creating a connection by convention. If SQLEXPRESS is running, it will be used. If SQLEXPRESS is not available then LocalDb will be registered as the default instead. No changes are made to the configuration file if it already contains a setting for the default connection factory.

The following new features are also available in the Entity Model Designer in Visual Studio 11 Beta:

  • Multiple-diagrams per model allows you to have several diagrams that visualize subsections of your overall model.
  • Shapes on the design surface can now have coloring applied.
  • Batch import of stored procedures allows multiple stored procedures to be added to the model during model creation

References

Open Source Announcement
[ http://weblogs.asp.net/scottgu/archive/2012/07/19/entity-framework-and-open-source.aspx ]

Entity Framework on Codeplex
[ http://entityframework.codeplex.com/ ]

Announcement about Entity Framework 5 (RC) available via NuGet
[ http://blogs.msdn.com/b/adonet/archive/2012/05/15/ef5-release-candidate-available-on-nuget.aspx ]

Introduction to EF (Database-First)
[ http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-model-amp-database-first-walkthrough.aspx ]

NuGet Entity Framework Package
[ http://nuget.org/packages/EntityFramework/ ]

NuGet: How to use the Package Manager
[ http://docs.nuget.org/docs/start-here/using-the-package-manager-console ]

Installing NuGet
[ http://visualstudiogallery.msdn.microsoft.com/27077b70-9dad-4c64-adcf-c7cf6bc9970c ]

Leave a comment

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.