Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade to 2.0.0-preview #282

Closed
yukozh opened this issue May 22, 2017 · 17 comments · Fixed by #306
Closed

Upgrade to 2.0.0-preview #282

yukozh opened this issue May 22, 2017 · 17 comments · Fixed by #306
Assignees
Milestone

Comments

@yukozh
Copy link
Member

yukozh commented May 22, 2017

No description provided.

@ensleep
Copy link

ensleep commented Jun 4, 2017

What is the progress of this issue?I think I really need it to support dotnet core 2.0.

@caleblloyd
Copy link
Contributor

I want to check it out but the instructions here say

Before you start, please remove any previous versions of .NET Core from your system

I have a lot of projects that rely on 1.x. Is 2.0 backwards compatible with 1? If so I can give this a shot.

@caleblloyd
Copy link
Contributor

Entity Framework Core 2.0 will only target .NET Standard 2.0

aspnet/Announcements#246

This means you will be able to use Entity Framework Core 2.0 on:

  • .NET Framework 4.6.1 and up
  • .NET Core 2.x
  • Mono 5.x

This means that in-turn, Pomelo.EntityFrameworkCore.MySql will only target .NET Standard 2.0 and have the same framework requirements

@labiraus
Copy link

labiraus commented Jun 4, 2017

The Sapient Guardian team say that there are going to be significant issues upgrading from 1.1 to 2.0.
How doable do you think this is going to be?
SapientGuardian/SapientGuardian.EntityFrameworkCore.MySql#56

@caleblloyd
Copy link
Contributor

@labiraus it's doable. I'll have a better timeline in a day or two, I'm going to start taking an initial look at this now.

We'll have a 2.0.0 RTM a couple weeks after upstream entity framework does. I'd like to get a preview out on nuget within a couple weeks.

@caleblloyd
Copy link
Contributor

So it is going to be a fair amount of work to update to 2.0.0-preview. Off the bat I see a few namespaces with a lot of changes:

  • Extensions
  • Storage/Internal
  • Scaffolding

I don't think it's worth starting work until aspnet/entityframework publishes 2.0.0-preview2. There have been a couple heavy BC breaking changes between 2.0.0-preview1 and 2.0.0-preview2:

Really it's just a case of waiting until aspnet/EntityFramework settles down with the breaking changes. Then we look at https://github.com/aspnet/EntityFramework/tree/dev/src/EFCore.SqlServer as a reference and have to update our side with all of the changes they made.

I can work on the Relational package, which will need to get done first. Once that's done, we'll need somebody to roll the Design package into the Relational package so that scaffolding works again. Any volunteers?

@caleblloyd
Copy link
Contributor

I've begun work on this in a 2.0.0-wip branch on my fork, targeting the nightly 2.0.0-preview2-* upstream entity framework libraries on MyGet

Once I have it compiling and tests passing locally, I'll merge it over. Hopefully that will be in a couple weeks.

@mguinness
Copy link
Collaborator

@caleblloyd FWIW, if you encounter issues Diego Vega at MSFT suggested these avenues for assistance:

If you happen to own an EF Core provider and run into any questions when updating your code for EF Core 2, please contact us. GitHub (https://github.com/aspnet/EntityFramework/issues), email or twitter @efmagicunicorns.

@yukozh
Copy link
Member Author

yukozh commented Jun 9, 2017

Need a 2.0.0-preview1 release

@caleblloyd
Copy link
Contributor

@kagamine I'm skipping straight to EF.Relational 2.0.0-preview2. Too much BC breakage between 2.0.0-preview1 and 2.0.0-preview2

@yukozh
Copy link
Member Author

yukozh commented Jun 9, 2017

Ok, so how about create a dev branch for merging your works into it and continous integrate it in MyGet?

@caleblloyd
Copy link
Contributor

caleblloyd commented Jun 9, 2017

I'm trying to get it to compile in a branch on my fork right now. Lots of changes in 2.0.0 upstream, going to take me another week or two. I'll PR it over to a dev branch once I get it to compile. In the meantime this is the branch on my fork:

https://github.com/caleblloyd/Pomelo.EntityFrameworkCore.MySql/tree/2.0.0-wip

We are now committing 2.0 updates to the dev branch

@caleblloyd caleblloyd added this to the 2.0.0 milestone Jun 10, 2017
@JonasKlose
Copy link

I've created a little bounty for this issue as I'd very much like to try out a stable version with .net core 2.0.

https://www.bountysource.com/issues/45444603-upgrade-to-2-0-0-preview

@caleblloyd
Copy link
Contributor

@JonasKlose thanks. I'd like to encourage anyone who isn't already contributing to take a look at the 2.0.0 milestone

The biggest area right now is scaffolding, which has undergone many updates and is in need of revamp: #289

We are making our 2.0 updates to the dev branch. I've been chipping away at the Relational package and that's getting pretty close to being on par with where we are at 1.x today.

@yukozh
Copy link
Member Author

yukozh commented Jul 1, 2017

https://www.nuget.org/packages/Pomelo.EntityFrameworkCore.MySql/2.0.0-preview2-10028-unstable

Don't use unstable package in production env. There are 20 unit test cases unpassed.

@yukozh yukozh self-assigned this Jul 1, 2017
@yukozh
Copy link
Member Author

yukozh commented Jul 1, 2017

@JonasKlose Please cancel the bounty. Pomelo Foundation will implement your requirements for free. We have already published an unstable release and the stable one will come soon. Thanks for your support.

This was referenced Jul 1, 2017
@caleblloyd
Copy link
Contributor

caleblloyd commented Jul 3, 2017

The first 2.0.0-preview2 has been released: 2.0.0-preview2-10043

Please use build tag 2.0.0-preview2-* or 2.0.0-* to get new updates.

It should be a straightforward update from 1.x. You need to NetStandard 2.0 support, you can get that at the .NET Core 2.0 Preview website for .NET Core or enable it in Visual Studio for .NET Framework 4.6.1 and up. Note you must target netcoreapp2.0 or net461 or higher.

All of the EF tools also have to be brought up to 2.0.0-*. For an example refer to our Functional Test .csproj

Try it out and open any issues you may find! We'd like to harden 2.0.0-preview so that we're ready within a couple weeks after .NET Core 2.0 RTM hits.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants