This site is dedicated to working with and contributing to the Entity Framework code base. If you want to use an officially supported Entity Framework release to develop your applications then head to msdn.com/data/ef where you can find useful documentation, tutorials, samples, and videos.

The Entity Framework is actively developed by the Entity Framework team which is assigned to the the Microsoft Open Tech Hub and in collaboration with a community of open source developers. Together we are dedicated to creating the best possible data access experience for .NET developers.

Getting and Building Code

The first order of business is to make sure you can build the code on your machine.

  1. The easiest way to work with the code base is to install Visual Studio 2012. You can also work with any other IDE provided you have .NET Framework 4.5 and MSBuild on your machine.
  2. To run the unit tests, you will need SQL Server 2012 Express installed with SQL Server and Windows Authentication mode enabled. The Windows username that you use for development must have the “sysadmin” role. The easiest way to ensure this is to install SQL Express while logged in as this user as opposed to having someone else install SQL Express on the machine.
  3. Make sure you have git installed. Alternate git clients
    • TortoiseGit is highly recommended, because it offers graphical log/tree views and diff/merge experience.
    • Posh-Git is highly recommended for PowerShell users.
    • Git Source Control Provider is an optional component which integrates Git into Visual Studio.
  4. Using your preferred git client clone our git repo located at
    git clone https://git01.codeplex.com/entityframework
  5. In order to run unit tests against the delay-signed binaries, you need to run SkipStrongNames. Obtain this and other NuGet packages from the OuterCurve Foundation NuGet public feed*. Do this from the command line. Enabling this requires administrative privileges.

    build /t:RestorePackages
    build /t:EnableSkipStrongNames
  6. If you installed Visual Studio, you can now open the EntityFramework.sln file in the root of the source code and build using Visual Studio. Alternatively, there is a Build.cmd file that will build the code base and run the tests from the command line. Build should be run from the “Visual Studio 2012 x86 Native Tools command prompt.”

    build
  7. Building the code will produce a .nupkg file for the EntityFramework NuGet package in bin\Release\. The Updating Applications to use EF6 page provides details on how to use this package in an application.

*By running build /t:RestorePackages, you will be initiating the download of other software from a NuGet-based feed that is owned by the Outercurve Foundation. You are responsible for locating, reading and complying with the license terms that accompany each such software. Each software that you obtain through this feed is licensed to you by its respective owner. We grant you no rights for third-party software from this feed.

Running Tests

Entity Framework solution contains three test projects (UnitTests, FunctionalTests, VBTests) which are written using xUnit. Most straightforward way to run all tests is executing "Build.cmd /t:Test" from the command line. Tests can also be run through Visual Studio 2012 using an xUnit runner extension, such as xUnit.net runner for Visual Studio 2012, TestDriven.NET or ReSharper.

Signed Nightly Builds

Signed nightly builds of the Entity Framework code base are made available

Contribute

There are many ways to contribute to Entity Framework including contributing code. Check out the contributors page to see who is already contributing to Entity Framework. Find out how you can participate here.

Roadmap

Want to know what the future holds for Entity Framework? We update our roadmap regularly and we post specific feature specifications publicly for review.

Questions?

Send us your questions through the discussion forums or check the FAQ to see if your question has already been answered.

Last edited Apr 15 at 5:30 PM by AndriySvyryd, version 82

Comments

tamasflamich Dec 9, 2012 at 5:53 PM 
Attached database functional tests fails with the following error:
"Directory Lookup for the File Failed with Operating System Error 5 (Access is Denied)"

Adding full control access to "Everyone" (SQLExpress service account?) on the "test/EntityFramework/FunctionalTests/bin/Release|Debug" folder solves the problem. I think this might worth a mention in the guide.

amiramk Oct 14, 2012 at 12:17 PM 
Visual Studio 2012 is already out. Please remove the "RC" from the "Getting and Building Code" section.
Also, the Sql Server Express link goes to the 2008 version.

andersabel Aug 6, 2012 at 8:48 PM 
The build should be done in the "VS2012 x86 Native Tools Command Prompt". The other command prompt options installed with VS2012 won't match the configuration in the project fails and give an error: The OutputPath property is not set for project 'FunctionalTests.csproj'.