Overarching issue for upgrading to EF Upstream 2.1.0 including preview releases such as 2.1.0-preview1
Information
mastermaster and nightly builds will be published to MyGetCurrent Blockers
List of issues that need to be fixed before merging f_2.1.0-spec-tests to master
Cross-posting https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/305#issuecomment-386756289 here since it relates to the 2.1 upgrade
Specification tests were merged to the branch f_2.1.0-spec-tests in #534 by @AndriySvyryd however the current implementation does not pass most of those tests:
Only made minimal code fixes required for the test infrastructure. Most of the tests are still failing.
The implementation should be fixed by further changes to f_2.1.0-spec-tests so that tests pass, then f_2.1.0-spec-tests could be merged into2.1.0-preview or master and a the 2.1 Release Candidate process can begin.
Will all of the new EF.Core 2.1 features be supported? Like System.Transaction?
Thanks to the fantastic work of @AndriySvyryd with help from @csboling and @maumar, the master branch is now tracking EF 2.1.0!
PRs for 2.1.0 should now be opened agains master
There are 2 issues with the build right now:
.NET Core and EF 2.1.0 _should_ be landing sometime next week, our goal is to do a Release Candidate shortly after it does.
Thanks for the awesome work folks.
I got Could not load type 'Microsoft.EntityFrameworkCore.Storage.IRelationalCoreTypeMapper' from assembly 'Microsoft.EntityFrameworkCore.Relational, Version=2.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'.
and my code has value conversions.
Not sure if both are linked.
I used 2.1.0-preview1-10085 version.
I also tried 10089 from myget but I was unable to install in OSX .NET Core.
Is value conversions expected to be working in Release Candidate?
Once again thanks a lot for your contributions.
@rvramesh that myget build is old and does not contain the real 2.1.0 code. Once we get the last 2 issues listed here fixed we will publish a RC. We also have to wait for EF to publish 2.1.0 on NuGet. That should all happen within a week or so.
Thanks for the updates @caleblloyd
Thanks for the good work guys, awaiting for the 2.1 release.
@caleblloyd The 2.1.0 version of Microsoft.EntityFrameworkCore just got published on NuGet: https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/
@caleblloyd
.NET Core and EF 2.1.0 should be landing sometime next week, our goal is to do a Release Candidate shortly after it does.
Just FYI: 2.1 is being released _this week_ and the RTM versions of .NET Core, ASP.NET Core and EF Core are already available since last week over here: https://github.com/aspnet/Home/wiki/2.1.0-Early-Access-Downloads.
The same files are right now starting to appear in official places, and NuGet feeds are getting updated, so I鈥檇 say the official release is imminent.
That being said, thank you all for working on this upgrade! I know that this wasn鈥檛 that simple, but your work is really appreciated!
The version chaos @rvramesh mentioned should be solved with the implementation of EF Core v2.1.0. @gastonmuijtjens that was a quick post :+1:
Once #568 is figured out and passing CI, it should fix #561 and we can publish a RC.
i have the same question when upgrade ef core 2.1.0 today
Exception Meaasge: One or more errors occurred. (Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper)'.)
wating fix,thanks guys..
Yes, i have the same question when upgrade ef core 2.1.0. Waiting for the next release.
caleblloyd, AndriySvyryd, maumar & others are all working hard on this, but there are still failed upstream tests that need resolving. See https://github.com/PomeloFoundation/Pomelo.EntityFrameworkCore.MySql/issues/522 for ways to contribute and make the next release occur sooner.
Keep up the good work, really looking forward to this fix for netcoreapp2.1.
Right now I am considering #553 #578 #580 as must-fix items before publishing an RC. There are PRs open for #553 and #578.
I am attempting to upgrade my app to .NET Core 2.1 while staying with EF Core 2.0.X until this data provider is updated. Anybody have any suggestions on how to do so? See more specifics here.
@collinbarrett honestly I would wait for Pomelo 2.1.0-rc. microsoft.aspnetcore.all and the SDK have pretty tight dependencies. We should have the RC up sometime this weekend.
@caleblloyd Will your versions be matching the version .NET Core is on? (So 2.0.1 works with .NET Core version 2.0.1 or below?) Because my project returns the following error: MissingMethodException: Method not found: 'Void Microsoft.EntityFrameworkCore.Storage.Internal.RelationalParameterBuilder..ctor(Microsoft.EntityFrameworkCore.Storage.IRelationalTypeMapper)'. I am on .NET Core 2.1, this is probably causing this.
@martijnmelchers Pomelo.EntityFrameworkCore.MySql currently does not work with 2.1. That is what this issue is about.
The update will make it compatible with Entity Framework Core 2.1. If you are using ASP.NET Core 2.1, then you are currently using EF Core 2.1 which causes that error.
@martijnmelchers the runtime is irrelevant, Pomelo.EntityFrameworkCore >= 2.0.0 targets netstandard2.0 and runs on any runtime that supports that.
The problem is package dependencies. Pomelo.EntityFrameworkCore 2.0.1 works with Microsoft.EntityFrameworkCore 2.0.x but does not work with Microsoft.EntityFrameworkCore 2.1.x. We are getting ready to release a RC of Pomelo.EntityFrameworkCore 2.1.0 that will work with Microsoft.EntityFrameworkCore 2.1.x
When you import Microsoft.AspNetCore.All 2.1.0 in your app, that brings in Microsoft.EntityFrameworkCore 2.1.x, and therefore to get Pomelo to work with that you'll need the new Pomelo RC we are about to publish.
@poke @caleblloyd Though so! Luckily I was just trying out your library. When I copied your example code this error came up too: InvalidOperationException: The property 'JsonObject<List<string>>.Object' could not be mapped, because it is of type 'List<string>' which is not a supported primitive type or a valid entity type. is this caused by .NET Core 2.1.x too or am I doing something wrong?
@martijnmelchers No, that鈥檚 just a limitation of Entity Framework itself.
@martijnmelchers that should work with Pomelo.EntityFrameworkCore 2.1.0 when it's released
Here is the workaround I am using for using an older version of EntityFrameworkCore with .NET Core 2.1. Note that this is with the MySql.Data connector; I have not tested with the Pomelo connector.
The older .NET Core SDK (2.1.200 or 201) needs to be installed as well.
<ItemGroup>
<PackageReference Include="IdentityServer4" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Http.Abstractions" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="2.0.3" />
<PackageReference Include="Microsoft.AspNetCore.Mvc" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Core" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.ResponseCompression" Version="2.1.0" />
<!--<PackageReference Include="Microsoft.AspNetCore.All" Version="2.1.0" />-->
<PackageReference Include="Microsoft.AspNetCore.StaticFiles" Version="2.1.0" />
<PackageReference Include="Microsoft.AspNetCore.WebSockets" Version="2.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="2.0.3" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Http" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Identity.Core" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="2.1.0" />
<PackageReference Include="Microsoft.Extensions.Options.ConfigurationExtensions" Version="2.1.0" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.0" />
<PackageReference Include="MySql.Data" Version="8.0.11" />
<PackageReference Include="MySql.Data.EntityFrameworkCore" Version="8.0.11" />
<PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>
While I have not had or noticed any problems with this for the 2 days it has been running, I am not using this for anything _critical_.
@collinbarrett @krvi It is not recommended to mix versions in this way, the packages were not designed to work in this way and are likely to cause bugs. For any production environment you should reference <PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.3" /> until Pomelo.EntityFrameworkCore 2.1.0 is released
The first 2.1.0-rc1 build is on MyGet: 2.1.0-rc1-20180603135351
Once I can validate this package on MyGet, I'll move it over to 2.1.0-rc1-final on NuGet. If you want to try out the MyGet package, follow the instructions for adding our MyGet source
2.1.0-rc1-final is released on NuGet!
A big thanks to @AndriySvyryd and the Microsoft EF team for supporting this upgrade.
As always please open issues if you have any when upgrading. We will likely be looking to do another RC in 2 weeks, then a final release after that if everything checks out.
@aldrashan You鈥檙e using MySql.Data.EntityFrameworkCore, that鈥檚 the Oracle provider. Remove those references and fix the call to UseMySql.
@poke Actually, adding the MyGet source and using the latest one there fixed everything!
Cheers to all for the quick updates.
Everything for me is working now. Thanks Everybody!!!
Thanks now everything works!! You are awesome! 馃憤
@caleblloyd Any chance you can publish the package 2.1.0, which is in pre-release status, as well?
I can see that there is 2.1.1 and pre-published 2.1.0-rc1-final. Hosting application on AWS Lambda which has support for .NET Core SDK 2.1, not 2.1.1 yet.
@melih154 I went back and published 2.1.0, which will work with those who only have access to 2.1.0 for now, such as AWS Lambda
Most helpful comment
2.1.0-rc1-final is released on NuGet!
A big thanks to @AndriySvyryd and the Microsoft EF team for supporting this upgrade.
As always please open issues if you have any when upgrading. We will likely be looking to do another RC in 2 weeks, then a final release after that if everything checks out.