EF 6.1 Alpha 1 Available
Since the release of EF6 a couple of months ago our team has started working on the EF6.1 release. This is our next release that will include new features.
What’s in Alpha 1
It’s still early days in the 6.1 release, so there aren’t many new features to try out just yet. Most of our work so far has been fixing bugs, improving performance, and laying groundwork for new features.
Runtime
The following items are included in Alpha 1 runtime
- Handling of transaction commit failures provides the ability to detect and recover automatically when transient connection failures affect the acknowledgement of transaction commits. You can read more about this feature in the specification on our CodePlex site.
- EntityFramework.SqlServerCompact.Legacy is a new NuGet package (contributed by ErikEJ) that allows you to use Entity Framework 6 to target SQL Compact 3.5.
- Bug fixes, minor features, and performance improvements included in the Alpha 1 release can be viewed on our CodePlex site.
Tooling
Our 6.1 tooling code base isn’t ready for preview yet. We’ll be including the tooling in future previews of EF6.1.
Where do I get Alpha 1?
The runtime is available on NuGet. If you are using Code First then there is no need to install the tooling. Follow the instructions on our Get It page for installing the latest pre-release version of Entity Framework runtime.
The tooling isn’t ready for preview yet, but you can use the EF6.1 Alpha 1 runtime with the existing EF6 Tooling for Visual Studio 2012 and 2013.
Support
This is a preview of features that will be available in the final release of EF6.1 and is designed to allow you to try out the new features and report any issues you encounter. Microsoft does not guarantee any level of support on this release.
If you need assistance using the new features, please post questions on Stack Overflow using the entity-framework tag.
What’s next?
We still have plenty of bugs to fix and some new features to add before we release EF6.1. There will be more previews over the coming months including previews of the EF6.1 Tooling.
Comments
Anonymous
December 20, 2013
GoodAnonymous
January 01, 2014
Great work team. So when will EF support: 1.batch insert / update / delete ? I mean I can insert multiple rows into the database just in a single database round trip 2.delete an entity simply by passing a Lambda expression without having to get the entity first, for example: students.delete(s => s.StudentID == "123456") 3.a more natural left/right join syntax like SQL, maybe a new keyword "leftjoin" or "rightjoin", for example: var orderUsers = from u in db.Users leftjoin o in db.Orders on u.UserID equals o.UserID select new {u.UserName,o.OrderNumber}Anonymous
January 06, 2014
The comment has been removedAnonymous
January 09, 2014
Could you please answer after upgrading 5.0 up to 6.0 i have some issue with generating dublicate FK in DB. The same poblem as i have : stackoverflow.com/.../duplicate-navigation-properties-when-using-entity-framework-6-and-fluent-api but everything is done like msdn.microsoft.com/.../jj591620.aspx.Anonymous
January 14, 2014
@ivankashkov - Looks like that particular StackOverflow issue was due to the developer having some extra properties in his model that he wasn't aware of (so EF was doing the correct thing). If you have a scenario where EF is calculating the incorrect schema then feel free to file a bug report on our CodePlex site - entityframework.codeplex.com/.../Create.Anonymous
January 14, 2014
Code First TVF: My understanding is that the newly made public APIs for metadata will allow us to add enough metadata in to the model so that TVF can be called and be composable. If anyone can point me in the right direction I would greatly appreciate it. Without Composable TVF I have to jump through some major work a rounds. From looking at the unit test it looks like something a long this line of thought: var functionImport = EdmFunction.Create() "Foo", "Bar", DataSpace.CSpace, new EdmFunctionPayload { IsComposable = true, IsFunctionImport = true, ReturnParameters = new[] { FunctionParameter.Create("functionname", EdmType.GetBuiltInType() EdmConstants.ReturnType, TypeUsage.Create(collectionTypeMock.Object), ParameterMode.ReturnValue), } }); ... entityContainer.AddFunctionImport(functionImport); Not sure where the hook should be before the context gets locked down. Thanks, Brian F @iguanawareAnonymous
January 15, 2014
Great work! Any updates on the Issue 299: Unique Constraints (Unique Indexes) entityframework.codeplex.com/.../299Anonymous
January 17, 2014
@Tony - Unfortunately unique constraints is going to be a really big feature to implement and test (just because of the way EF is implemented). We do want to add the feature, but at the moment we've prioritized getting a lot of other features delivered that require less resources.Anonymous
January 17, 2014
@Brian F 732: In principle in EF 6.1 the last of the major building blocks necessary to do something like this is falling into place: public constructible mapping. We already had DbFunctionAttribute to map a function to a method stub, we added constructible metadata and custom model conventions in EF 6.0 So the theory is that you could create a custom model convention (see msdn.microsoft.com/.../dn469439) that adds the function to both the store and the conceptual model container and also sets up mapping between the two. Then you could create a method that returns an IQueryable<T> that is bootstrapped with a call to ObjectContext.CreateQuery<T>. The problem is that we haven't fully validated that it is possible to add a TVF to the model and using it with this approach. Some of the fiddling I have personally done to map store functions with this ideas is summarized in this discussion: entityframework.codeplex.com/.../466706 Hope that helps, DiegoAnonymous
January 23, 2014
Does anyone know if any additional startup time improvements are expected anytime soon? EF 6 appears to be an improvement over 5, but, the startup time for one of the projects I'm working on is still pretty slow. I have 1,250 entities in the context and it's taking about 43 seconds to initialize before the first query is executed. I'm using MySQL. Not sure if the driver would have an impact or not. I haven't tried a model of this size with SQL Server.Anonymous
January 24, 2014
@Jon - There are some additional performance improvements coming in 6.1, but nothing significant around model warm up time. It's probably not the driver affecting warm up time - but you could always try retargeting the model to SQL Server just to verify.Anonymous
January 25, 2014
@Jon: I would only add to what Rowan said the recommendation to try our nightly builds: entityframework.codeplex.com/wikipage. These can be a bit less stable than release, beta or even alpha builds but will let you test our latest improvements. Also in case you haven't done this already, creating native images of EF assemblies can reduce startup delays by a few seconds as described at msdn.microsoft.com/.../dn582034. Hope this helps.Anonymous
February 04, 2014
We wan't have the Legacy-ObjectContext Generation with EF6 and generated Code with EF5/EF6. We have so much trouble with your templates! Before we get new features, we must have features running well! stackoverflow.com/.../change-ef-6-code-generation-strategy-from-t4Anonymous
February 04, 2014
No further comments needed: visualstudiogallery.msdn.microsoft.com/66612113-549c-4a9e-a14a-f629ceb3f89aAnonymous
February 05, 2014
@j.nord - Glad you found what you were after :)Anonymous
February 05, 2014
You should read the "reviews"! visualstudiogallery.msdn.microsoft.com/66612113-549c-4a9e-a14a-f629ceb3f89a No one can use the EF 6.x EntityObject Generator.Anonymous
February 05, 2014
@j.nord - Those issues are a result of not installing .NET 4.5 on the machine. This is required to run the templates. There is more info in the description tab on the VS Gallery page.Anonymous
February 07, 2014
Does code first support at built-in function?Anonymous
February 10, 2014
Don't forget about speed improvements.Anonymous
February 12, 2014
@sasa - If you are referring to SQL Server built-in functions, then you can use System.Data.Entity.SqlServer.SqlFunctions to use them in your LINQ queries - msdn.microsoft.com/.../system.data.entity.sqlserver.sqlfunctions(v=vs.113).aspx.Anonymous
February 19, 2014
The DataBase Log property doesn't seem to do anything yetAnonymous
February 19, 2014
@Fred Guidry - Database.Log is functional since 6.0.0, for details on how to use it see this page msdn.microsoft.com/.../dn469464.