EF6.0.2 Nightly Builds Available
We recently blogged about our plans to publish a 6.0.2 patch release to address some issues in the 6.0.0 and 6.0.1 releases. The changes in this release will improve performance and fix some bugs introduced in the EF6 release.
Try out the nightly builds
Because this patch will go straight to RTM, we need your help to try out the nightly builds and let us know if the issues are fixed and/or if you encounter any new issues.
We’ve started pushing 6.0.2 builds to the same MyGet feed we push nightly builds of our master branch to (currently the 6.1 code base that we are working on).
Not all the fixes for 6.0.2 are checked in at the time this post was published. You can keep track of what issues we are planning to address in 6.0.2 (and the state of the fix) on our CodePlex site.
Configuring NuGet
You need to configure NuGet to use the feed that contains nightly builds.
- In Visual Studio select Tools –> Library Package Manager –> Package Manager Settings
- Select Package Sources from the left pane
- Enter Nightly Builds as the Name and https://www.myget.org/F/aspnetwebstacknightly/ as the Source
- Click Add and then OK
Using a Nightly Build
Once the nightly feed is configured you can add the latest build of the 6.0.2 NuGet package:
- In Visual Studio select Tools –> Library Package Manager –> Package Manager Console
- At the command prompt you can run the Install-Package command specifying a version that includes the current date. The format for this command is Install-Package EntityFramework –Pre –Version 6.0.2-nightly-2<two_digit_month><two_digit_day>
- For example, today’s date is November-13 so you can run Install-Package EntityFramework –Pre –Version 6.0.2-nightly-21113 to get today’s build
Note: If you do not specify a version, or if you install via the NuGet UI, you will get the latest 6.1 build which includes fixes that will not be included in the 6.0.2 release.
Nightly builds are typically available on MyGet by 10am PST each day, but from time to time things happen and they may be later.
Comments
Anonymous
November 13, 2013
Should the red note text not be changed to: NuGet UI, you will get the latest ** 6.0.1 ** build ?Anonymous
November 14, 2013
@ErikEJ They've already been pushing nightly builds of a future version labeled 6.1.0 so I do believe that the text is correct and that if you pulled the "Entity Framework" project from the nightly builds that you'd get the highest version which isn't what you'd want if you just wanted to test the 6.0.2 bug fixes.Anonymous
November 14, 2013
@Halo_Four and @ErikEJ: That is correct. The nightly builds feed is separate from the official NuGet feed. While in the official NuGet feed the highest version is 6.0.1, the nightly builds feed contains early drops of 6.1 as well as 6.0.2.Anonymous
November 14, 2013
Please, fix "http" to "https".Anonymous
November 14, 2013
None of the following work after creating an empty VS 2013 solution based on .net 4.5.1 framework followed by creating a Windows class library project: Install-Package EntityFramework –Pre –Version 6.0.2-nightly-21115 Install-Package EntityFramework –Pre –Version 6.0.2-nightly-21114 Install-Package EntityFramework –Pre –Version 6.0.2-nightly-21113 What am I doing wrong?Anonymous
November 14, 2013
I used the 6.0.2 nightly build and found an issue where I had a DbEntityValidationException but the exception detail did not bubble up and wasn't provided in my debug session.Anonymous
November 15, 2013
@SomewhatConfused - "nightly-21115" won't work until around 10am PST on 11/15 (still a couple of hours away from the time I posted this comment). "nightly-21114" should work (I just copy/pasted your command and it worked for me) can you make sure you have the 'Nightly' feed selected in the 'Package Source' dropdown at the top left of the Package Manager Console window.Anonymous
November 15, 2013
@JohnyL - Can you provide some more details? I'm not quite sure what you are asking.Anonymous
November 15, 2013
@Ron Naveh - Could you open an issue on our CodePlex site - entityframework.codeplex.com/.../Create. Be sure to include example code and detailed steps on how to reproduce the issue.Anonymous
November 17, 2013
@Rowan Miller Glitch 1. If I use "http" prefix for Nightly Builds source, then I am asked for login and password for myget.org (http://sdrv.ms/HUi7m5). Glitch 2. I see that when I use "Database First" approach, VS creates DbContext class along with EDMX file. To see the problem, here's T-SQL to create sample database (all screenshots are here -http://sdrv.ms/HUi7m5): ============================================== -- CREATING TABLES create table dbo.T1 ( id int primary key not null, value char(3) not null ); create table dbo.T2 ( id int primary key not null, value char(3) not null, constraint pk_T2 foreign key (id) references dbo.T1(id) on update cascade on delete cascade ); -- FILLING TABLES declare @i int = 1; while @i <= 10 begin insert into dbo.T1 values (@i, 'vl1'); insert into dbo.T2 values (@i, 'vl2'); set @i += 1; end; ============================================== As you see, there's one-to-one connection between two tables (file "Model.png"). However, when I bind T1 table to DataGrid in WPF proejct, I see extra column T2 (image "Extra column.png"). This extra column is a Navigation Property. It shouldn't be there. But, let's take a look at generated code: ============================= public partial class T1 { public int id { get; set; } public string value { get; set; } public virtual T2 T2 { get; set; } } ============================= Yes, if I would use Code First approach I would do the same. Also, I would mark it as navigation property, but VS doesn't do it when generating model. There's just "throw new UnintentionalCodeFirstException();" - and that's all. Thus, I have to manually mark it as navigation property. Glitch 3. This is REALLY annoying glitch (video - http://sdrv.ms/HUi7m5). Say, I have generated model from Glitch 2. The file is called "TestModel.edmx". Then, I begin creating code: ======================================================== namespace TestEF { async private void OnGetData(object sender, RoutedEventArgs e) { using(TestEntities db = new TestEntities()) { await db.T1.LoadAsync(); dg.ItemsSource = db.T1.Local; //dg - DataGrid } } } ======================================================== All is well and good. But after some time I have decided to create folder in project named "Database" and move this EDMX file to this folder. And...error appears: "The type or namespace name 'TestEntities' could not be found (are you missing a using directive or an assembly reference?)" Whatta??? I was really "proud" that VS is so smart enough that it changed "TestEF" namespace for T1 class to "TestEF.Database"! In other words, VS appended the folder name to namespace. And because of it I have to change the namespace in each and every source code file! What if I have 300 files where I use this namespace? Is it cool feature or I don't understand something?Anonymous
November 18, 2013
There don't seem to be any packages on www.myget.org/.../aspnetwebstacknightly right now.... I appreciate everyone's work but this is causing a serious problem. First 6.0.1 has some bugs in it so that it breaks the whole solution, then this is suggested as an answer but there aren't any packages... Don't know... need some serious help and better organization. Can't work like this.Anonymous
November 18, 2013
@Robert: I can confirm that the packages are there. The MyGet service is a bit picky, e.g. I have seen that when the Install-Package command looks up for a specific version, the name of the package has to match in a case-sensitive way. The command to get this morning's nightly build is like this: Install-Package EntityFramework –Pre –Version 6.0.2-nightly-21118Anonymous
November 18, 2013
Tried the nightly build with Ngen yesterday but the performance issues are still there and my webapp is significantly slower. Have to stick with EF5...Anonymous
November 19, 2013
@aspdev - If possible, could you open an issue on CodePlex with the scenario/code that is still running slow. We still have time to get some more fixes into 6.0.2 and we want to make sure we address anything we can find. entityframework.codeplex.com/.../CreateAnonymous
November 19, 2013
@JohnyL
- Looks like the text and the link in the post use https (the screenshot is the only place I could see http used).
- I'm not sure what the problem is here. T2 is a navigation property. Since you are using the EF Designer this information is stored in the EDMX file rather than the code itself (as it would be for Code First).
- This is how VS works - classes stored in folders default to a namespace that matches the folder name. If you added a new class to the database folder (just using VS - without EF involved) it would be in the TestEF.Database namespace. If you want to override this, there is a CustomToolNamespace property on the two tt files where you can specify the namespace you want. I hope that helps you out. In the future, questions like this are best asked on StackOverflow rather than blog comments :)
- Anonymous
November 19, 2013
@Rowan Miller Thanks for answers!
- I used the link from screenshot. :)
- Yes, this just concerns the EDMX file. But this is rather strange feature. And you say about creating new class in folder. But rewriting namespace occurs when moving already existing class to folder. Is there some convincing reason why this rewriting happens? It ain't convinient.
Anonymous
November 19, 2013
@JohnyL - It's considered best practice to have the namespace structure match your folder structure. When you move the EDMX (or any time you save changes to it) the code for each file is actually regenerated, which is why it picks up the new namespaces. If you don't want this behavior, there is always the CustomToolNamespace property I mentioned.Anonymous
November 26, 2013
@Rowan Miller CustomToolNamespace doesn't work. It is fully ignored.Anonymous
November 27, 2013
@JohnyL - Are you setting it on the EDMX file or on the two .tt files nested under the EDMX (those are the code generation templates). You need to set it on the tt files.Anonymous
November 27, 2013
@Rowan Miller Yes, I set it on EDMX file. :) I set it on .tt files - and all worked fine! Thanks a lot! :)