efcore: System.TypeLoadException after upgrade to 6.0.0-rc.1.21452.10 : Method 'AppendIdentityWhereCondition' does not have an implementation

File a bug

Was using EF Core 6.0 Preview 7 before, everything working normal, after upgrade to RC1, it throw exception on system startup.

Method 'AppendIdentityWhereCondition' in type 'Pomelo.EntityFrameworkCore.MySql.Update.Internal.MySqlUpdateSqlGenerator' from assembly 'Pomelo.EntityFrameworkCore.MySql, Version=6.0.0.0, Culture=neutral, PublicKeyToken=2cc498582444921b' does not have an implementation.

Include your code

img

Include verbose output

Please include --verbose output when filing bugs about the dotnet ef or Package Manager Console tools.

PS C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot> dotnet ef dbcontext list --verbose
Using project 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj'.
Using startup project 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj'.
Writing 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\obj\Coscomms.CryptoBot.csproj.EntityFrameworkCore.targets'...
dotnet msbuild /target:GetEFProjectMetadata /property:EFProjectMetadataFile=C:\Users\Died\AppData\Local\Temp\tmp1D88.tmp /verbosity:quiet /nologo C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj
Writing 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\obj\Coscomms.CryptoBot.csproj.EntityFrameworkCore.targets'...
dotnet msbuild /target:GetEFProjectMetadata /property:EFProjectMetadataFile=C:\Users\Died\AppData\Local\Temp\tmp1F9C.tmp /verbosity:quiet /nologo C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj
Build started...
dotnet build C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj /verbosity:quiet /nologo

Build succeeded.
    0 Warning(s)
    0 Error(s)
Time Elapsed 00:00:02.32
Build succeeded.
dotnet exec --depsfile C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\bin\Debug\net6.0\Coscomms.CryptoBot.deps.json --additionalprobingpath C:\Users\Died\.nuget\packages --additionalprobingpath "D:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages" --runtimeconfig C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\bin\Debug\net6.0\Coscomms.CryptoBot.runtimeconfig.json C:\Users\Died\.dotnet\tools\.store\dotnet-ef\6.0.0-rc.1.21452.10\dotnet-ef\6.0.0-rc.1.21452.10\tools\netcoreapp3.1\any\tools\netcoreapp2.0\any\ef.dll dbcontext list --assembly C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\bin\Debug\net6.0\Coscomms.CryptoBot.dll --project C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj --startup-assembly C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\bin\Debug\net6.0\Coscomms.CryptoBot.dll --startup-project C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\Coscomms.CryptoBot.csproj --project-dir C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\ --root-namespace Coscomms.CryptoBot --language C# --framework net6.0 --nullable --working-dir C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot --verbose
Using assembly 'Coscomms.CryptoBot'.
Using startup assembly 'Coscomms.CryptoBot'.
Using application base 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\bin\Debug\net6.0'.
Using working directory 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot'.
Using root namespace 'Coscomms.CryptoBot'.
Using project directory 'C:\Users\Died\source\repos\Coscomms\Coscomms.CryptoBot\'.
Remaining arguments: .
Finding DbContext classes...
Finding IDesignTimeDbContextFactory implementations...
Finding application service provider in assembly 'Coscomms.CryptoBot'...
Finding Microsoft.Extensions.Hosting service provider...
Using environment 'Development'.
Using application service provider from Microsoft.Extensions.Hosting.
Found DbContext 'CryptoBotContext'.
Finding DbContext classes in the project...
Coscomms.CryptoBotDb.CryptoBotContext

Include provider and version information

EF Core version: Microsoft.EntityFrameworkCore 6.0.0-rc.1.21452.10 Database provider: Pomelo.EntityFrameworkCore.MySql 6.0.0-preview.5 Target framework: .NET 6.0 Operating system: Win 10 Home Version 10.0.19043 IDE: Visual Studio 2022 Preview

About this issue

  • Original URL
  • State: closed
  • Created 3 years ago
  • Comments: 16 (8 by maintainers)

Most upvoted comments

@ErikEJ we sometimes get issues where users are trying to mix different major/minor versions too (e.g. 3.1 and 5.0, for various reasons). Basically it’s never really supported to mix versions, except in patch versions of the same major/minor version, where it’s almost guaranteed that the provider-facing API wouldn’t break.

@died you cannot mix versions - you will have to wait for Pomelo.EntityFrameworkCore.MySql to release an rc.1 version.

TypeLoadException: Method ‘AppendIdentityWhereCondition’ in type ‘Pomelo.EntityFrameworkCore.MySql.Update.Internal.MySqlUpdateSqlGenerator’ from assembly ‘Pomelo.EntityFrameworkCore.MySql, Version=6.0.0.0, Culture=neutral, PublicKeyToken=2cc498582444921b’ does not have an implementation. =.=

Uninstall RC1 , clean up, install Preview 7, then it worked.

Thanks.

TypeLoadException: Method ‘AppendIdentityWhereCondition’ in type ‘Pomelo.EntityFrameworkCore.MySql.Update.Internal.MySqlUpdateSqlGenerator’ from assembly ‘Pomelo.EntityFrameworkCore.MySql, Version=6.0.0.0, Culture=neutral, PublicKeyToken=2cc498582444921b’ does not have an implementation. =.=

Uninstall RC1 , clean up, install Preview 7, then it worked.