Entity Framework and Open Source

It’s been a busy year on the Entity Framework team. A little over a year ago our team released EF4.1, which included the DbContext API and Code First support. Since then we’ve also delivered Code First Migrations. Our team is also in the final stages of wrapping up the EF5 release, which introduces enum support, spatial data types, table-valued function support and some serious performance improvements. The RTM of EF5 will be available alongside the RTM of Visual Studio 2012. The EF Designer in Visual Studio 2012 includes support for multiple diagrams per model, improvements for batch importing stored procedures and a new UI coming in the final release. We also released the EF Power Tools which previews some features we are considering for inclusion in the EF Designer.

One of the things we’ve done throughout the EF4 and EF5 development cycles has been to involve the community early as we make design decisions and solicit as much feedback as possible. Going forward with EF6 we are looking to take this to the next level by moving to an open development model.

Today the Entity Framework source code is being released under an open source license (Apache 2.0), and the code repository will be hosted on CodePlex to further increase development transparency. This will enable everyone in the community to be able to engage and provide feedback on code checkins, bug fixes, new feature development and build and test the product on a daily basis using the most up to date version of the source code and tests. Community contributions will also be welcomed, so you can help shape and build Entity Framework into an even better product. You can find all the details on the Entity Framework CodePlex Site.

EF isn’t the only product to make this move, last December the Windows Azure SDK released with a similar development model, and in March this year ASP.NET MVC, ASP.NET Web API, and ASP.NET Web Pages with Razor also became available on the ASP.NET CodePlex Site. These products have all found the open development approach to be a great way to build a tighter feedback loop with the community, resulting in better products. Our teams have been working together to keep the contribution process, source structure, etc. as simple as possible across all these products.

 

Same Support, Same Developers, More Investment

Very importantly – Microsoft will continue to ship official builds of Entity Framework as a fully supported Microsoft product both standalone as well as part of Visual Studio (the same as today). It will continue to be staffed by the same Microsoft developers that build it today, and will be supported through the same Microsoft support mechanisms. Our goal with today’s announcement is to increase the development feedback loop even more, allowing us to deliver an even better product. 

The team is delighted to move to this more open development model. You’ll see plenty of commits coming soon as we work on some exciting new features.

 

EF6

The online code repository will be used to ship EF 6 and future releases, and much of the implementation of the async feature is already checked in.

Here are some of the features the team wants to tackle first for the Entity Framework 6 release. Feature specifications for these will be published shortly. You can check out the roadmap page on the CodePlex site for more details.

  • Task-based async - Allowing EF to take advantage of .NET 4.5. async support with async queries, updates, etc.
  • Stored Procedures & Functions in Code First - Allow mapping to stored procs and database functions using the Code First APIs.
  • Custom Code First conventions - Allowing custom conventions to be written and registered with Code First.

 

Learn More

Head over to the Entity Framework Codeplex Site to learn more and get involved. And read about the new Microsoft Open Tech Hub and some of the process changes we are making to help enable this and other collaborations with the open source community.

Entity Framework Team

Comments

  • Anonymous
    July 19, 2012
    Congratulations to Microsoft and the EF team for making this move.  I think the model (Microsoft-led and managed, but with community collaboration) is a great one, and is exactly the right one for this type of product!  I look forward to seeing how this progresses and potentially helping to improve the framework!

  • Anonymous
    July 19, 2012
    Great news for all developers using EF. Thank you for the effort!

  • Anonymous
    July 19, 2012
    Great news, I wish they would do the same for Silverlight

  • Anonymous
    July 19, 2012
    What a great news! Only thing I didn't like about EF was that it is not an open source. I hope better future of EF.

  • Anonymous
    July 19, 2012
    It couldn´t be better

  • Anonymous
    July 19, 2012
    This is awesome finally.  Now next get rid of SharePoint.

  • Anonymous
    July 19, 2012
    Have you got any plans to put this up on GitHub?

  • Anonymous
    July 19, 2012
    By far the worst code base I've seen in my life. Some parts are so complex and bad written it's ridiculous (IE: "EntityFrameworkCoreMappingViewGeneration") EF needs a ground up rewrite!

  • Anonymous
    July 19, 2012
    Good stuff, I really appreciate this, let's hope you get lots of contributions. Keep us posted on that ok? Although the whole unicorn thing is getting ridiculous... blame Hanselman I guess? @Catalin: go ahead and improve it, it's open source. A ground up rewrite would mean we'd have to wait at least a year and probably longer for new features, and success of rewrites is not guaranteed

  • Anonymous
    July 19, 2012
    BTW, looking at the code, I notice you're not following framework design guidelines for naming, and are in fact still using hungarian, which has been out of style for over 10 years and should be actively advised against. Why is that? And do contributors have to follow wonky guidelines like this, or can they use saner standards?

  • Anonymous
    July 20, 2012
    @G - No, we're using a Git repo but it will stay on CodePlex.

  • Anonymous
    July 20, 2012
    English: I particularly found a persian decision making, communities of competitors will fall as well as killing leaves it open for them to copy or make better what already exists. I'm seriously thinking about switching to Java or Python, Microsoft forgot the legacy earned over 20 years of Visual Basic, only to get more people rush the writing of C # which is a JAVA parecidíssima. The market is evolving and not changing, standards are increasingly being known and demanded in the labor market, do not know. Português: Eu particularmente achei uma pérsia tomada de decisão, as comunidades dos concorrentes vão cair matando além de deixa aberto para eles copiarem ou fazerem melhor o que já existe. Eu estou pensando seriamente em mudar para JAVA ou Python, a Microsoft esqueceu o legado conquistado ao longo de 20 anos do Visual Basic, somente para adquirir mais pessoas pressa a escrita do C# que é parecidíssima a JAVA. O mercado está evoluindo e não mudando, os padrões estão sendo cada vez mais conhecidos e exigidos no mercado de trabalho, não sei não.

  • Anonymous
    July 20, 2012
    @Catalin Pop Sever & @Mike - The code base has been around for a while, some parts of it follow current design principles while much of the less recent code does not. There are bits we want to improve and view generation is definitely one of them. If folks are editing or adding to a section of existing code we ask that they keep the formatting consistent with what is already there. That's generally accepted as good practice and how our team at Microsoft has been working.

  • Anonymous
    July 20, 2012
    Rowan Miller: Thanks for removing the previous publications written wrongly, I do not particularly want to leave the Visual Basic and open source do not believe in the capitalist world is not done for free. I hope that Microsoft has hidden cards in the sleeves against its competitors that are unfair and unforgiving.

  • Anonymous
    July 20, 2012
    now we can see inside of it :) Have someone check how use Enums in EF 4.3.1 under .NET 4?

  • Anonymous
    July 20, 2012
    The comment has been removed

  • Anonymous
    July 20, 2012
    @Rowan Miller WOW! Thank you! I can't wait for that :) good luck!

  • Anonymous
    July 22, 2012
    I just downloaded and built the open-source Entity Framework sources. My problem is opening the EntityFramework.sln in Visual Studio 2010. The solution opens but none of the projects are loaded. All show up with an 'incompatible' text in the project node. The projects seem to be only VS 2012 compatible. Is there a way to open them in VS 2010? Maybe by tweaking the project files? I have installed the .NET framework 4.5 from this location - msdn.microsoft.com/.../5a4x27ek%28v=vs.110%29.aspx

  • Anonymous
    July 22, 2012
    @Ady: currently the EF6 projects and the source code are compatible with Visual Studio 2012 and .NET 4.5 only. We are planning to make it possible to target .NET 4.0 and considering making it buildable from Visual Studio 2010 but we just haven't done the work yet.

  • Anonymous
    July 24, 2012
    @Mike: regarding the use of Hungarian notation, could please file a bug and specify where you found it? As Rowan explained some pieces here have ben part of the code base for a while, but this sounds like something that would be worth cleaning up.

  • Anonymous
    July 25, 2012
    That's great news for anyone using EF.  One of the most challenging parts of using EF has been figuring out how and why things work, or don't work.  Having access to the code will be a huge asset.  I hope the source and symbols for official releases will also be available via a public sourceserver. Also, I would hope that the unit test code would provide good insights into what can be done with EF.

  • Anonymous
    July 25, 2012
    Great news for such a great product.

  • Anonymous
    August 08, 2012
    Some one please tell me how to add new Reciords and view them

  • Anonymous
    August 09, 2012
    The comment has been removed

  • Anonymous
    August 07, 2013
    I am  started learning EF 4.3 not even 4.3.1 , before completion of that EF5 released and i thought of changing to learn EF5 and soon you all  working to release the EF6. when i am trying to complete any version  new version are going on added within a short time. I knew that the new versions will be very comfortable when compare to other. Thanks for everything to whole team

  • Anonymous
    November 07, 2013
    Please update the universal providers to support EF6.

  • Anonymous
    November 07, 2013
    @Jaben Cargman: We are getting ready an updated version of the ASP.NET Universal Providers that works with EF6 and it should be published in coming weeks. Stay tuned to the WebDev blog at blogs.msdn.com/.../webdev.