Entity Framework and Visual Studio 2015 RTM
Today Soma announced the availability of Visual Studio 2015. Our team is concurrently working on EF6.x and EF7 versions of our product and both of them make an appearance in this release.
EF6.1.3 is the latest stable version of Entity Framework and is the recommended version for production applications. EF6.1.3 is a patch release containing fixes for high priority issues that were reported on EF6.1.2.
Visual Studio 2015 includes Entity Framework 6.1.3 runtime and tooling.
- The runtime will be installed if you create a new model using the Entity Framework Tools in a project that does not already have the EF runtime installed.
- The runtime is pre-installed in new ASP.NET projects, depending on the project template you select.
- The EF6.1.3 Tools for Visual Studio 2015 are included to make sure you get the latest bug fixes and improvements.
You can read more about the specific fixes included in EF6.1.3 in our recent announcement post.
EF7 will be the next major release of Entity Framework and it is currently in pre-release.
EF7 introduces some significant changes and improvements over EF6.x and therefore the pre-release phase of EF7 is much longer than other recent releases. If you decide to try out EF7 then please bear in mind that this preview is designed to give you an idea of what the experience will be like and there are still a number of limitations and missing features that will be addressed before RTM.
If you aren’t comfortable working with a prerelease that is still very much in-flux then don’t worry… there will be plenty of opportunity to try out pre-release EF7 once it is much more stable.
You can use EF7 Beta 5 in the following types of applications.
- ASP.NET 5 applications that target either full .NET or the new .NET Core. EF7 is included in new ASP.NET 5 applications that are created using the “Web Site” project template.
- Full .NET applications (Console, WPF, WinForms, and ASP.NET 4) that target .NET 4.5.1 or later. We only recommend this for trying out EF7 in sample applications. If you are writing a production application then you should continue to use EF6.x. We do not recommend attempting to upgrade an EF6.x application to EF7 at this stage as there are still key features yet to be implemented on EF7 (such as inheritance support which is currently being implemented).
- Mac and Linux applications targeting Mono 3.12.1 or later. We have not done extensive testing of this scenario, but basic query and save functionality works.
- Universal Windows Platform is not supported in Beta 5 but it will be enabled in our upcoming Beta 6 release.
Currently you can target SQL Server or our in-memory store (designed to help with testing). These providers are available in the EntityFramework.SqlServer and EntityFramework.InMemory NuGet packages.
We have started writing documentation for EF7, which can be found at ef.readthedocs.org (the URL will change by the time we RTM). We have only made a modest start so far, but we will keep adding to the documentation as we progress toward RTM.
Most of our time since Beta 4 has been spent improving the features that were included in previous previews. Here is a list of the high level areas of functionality that work in Beta 5.
- Basic modeling including built-in conventions, table/column mapping, and relationships
- Change tracking
- LINQ queries
- Table based Insert/Update/Delete (including batching)
- Migrations and database creation/deletion
- Transactions (including automatic transactions during SaveChanges and explicit transaction APIs)
- Identity and Sequence patterns for database generated key values
- Raw SQL queries (DbSet.FromSql)
- An early preview of reverse engineering a model from a database
- Logging
- Unique constraints including the ability to use them as keys in a relationship
Beta 6 is coming shortly and will include the following.
- Universal Windows Platform support
- SQLite provider
- SQL Server Compact Edition support (from Erik Jensen)
Most of our effort from now until our initial release will be on cross-cutting quality concerns.
- Bug fixing
- Performance tuning
- API reviews
- Documentation
- etc.
There are a handful of features that we are implementing before our initial RTM.
- Universal Windows Platform support
- Inheritance
- Cascade delete
- Deployment
Anonymous
July 20, 2015
Six betas! With so many "betas" and with the amount of work it sounds like there is to do before RTM, wouldn't it be better to call these alphas? :P It's great to see the progress, though. I can't wait to build my first UWP prototype around EF7.Anonymous
July 20, 2015
The comment has been removedAnonymous
July 20, 2015
Does this mean we have to wait even longer for TVF and fulltext query support, or is FromSql composable in such a way that we can use TVFs with FromSql("SELECT * FROM tvf(...)") as a base for LINQ queries?Anonymous
July 26, 2015
Please, add suport to EDMX in EF7, the diagram is the source for many strategies of automation with T4, not the code. The Fisrt code es for the artisan but not for industrial production... Yes, the software can also be constructed industrially, but not with "First Code"Anonymous
July 26, 2015
Will the Fluent API be supported in EF7?Anonymous
July 29, 2015
@DxD2 I think LINQ is like fluent api query creating... :)Anonymous
August 04, 2015
Hi, I'm trying to figure out how to try the "..early preview of reverse engineering a model from a database". Can you post a quick how-to? ThanksAnonymous
August 25, 2015
does visual studio include edmx support (for ef6) ?Anonymous
October 19, 2015
@RubenP – Yes, you can use FromSql with a TVF as the basis for a LINQ query.Anonymous
October 19, 2015
@Emir – We agree having a diagram is useful, and we intent to build a diagram over the code files (though it may not be read-write). You should still be able to do all the code generation scenarios, they just construct the model by calling code rather than parsing an xml file.Anonymous
October 19, 2015
@DxD2 – Yes, Fluent API and Data Annotations are both supported.Anonymous
October 19, 2015
@Dave – You want the Scaffold-DbContext command in Package Manager Console (make sure you have the EntityFramework.Commands package installed).Anonymous
October 19, 2015
@edmx support – Yes, full EF6 support continues to be included in Visual Studio.