Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

MySQL Migration - Erro

Após execução do comando:

PM> enable-migrations -ContextTypeName MySql_EF.LojaContext

Code First Migrations enabled for project MySql_EF.

O VS criou o arquivo Configuration.cs na pasta Migration mas apresenta erro na linha:

internal sealed class Configuration : DbMigrationsConfiguration MySql_EF.LojaContext

Na compilação:

Error CS0311 The type 'MySql_EF.LojaContext' cannot be used as type parameter 'TContext' in the generic type or method 'DbMigrationsConfiguration'. There is no implicit reference conversion from 'MySql_EF.LojaContext' to 'System.Data.Entity.DbContext'. MySql_EF C:\Documents\Visual Studio 2017\Projects\MySql_EF\MySql_EF\Migrations\Configuration.cs 8 Active

Alguma ideia do que está acontecendo?



EntityFramework {6.2.0} Microsoft.EntityFrameworkCore {1.1.5} MySql.Data {8.0.12} MySql.Data.Entity {6.10.8} MySql.Data.EntityFramework {8.0.12} MySql.Data.EntityFrameworkCore {8.0.12}


VS2017 WINDOWS10
3 respostas

LojaContext é uma classe que herda de DbContext ?

Se estiver OK pode ser incompatibilidade de versão de pacote

Obrigado pela resposta. Sim.

internal class LojaContext : DbContext { public DbSet produtos { get; set; } public DbSet compras { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseMySQL("Server=localhost;Database=lojaalura;SslMode=none;Uid=root;Pwd='Ricardo1'");
    }
}

Abr,

solução!

Ricardo, a declaração das classes DbSet precisam ser VIRTUAL para poderem ser sobrescritas.

public virtual DbSet produtos { get; set; } 
public virtual DbSet compras { get; set; }

Se não for isso melhor perguntar direto ao instrutor ou aguardar alguém que tenha usado os mesmos pacotes. Eu usei o .Net Core e usei os seguintes pacotes: Microsoft.EntityFrameworkCore(2.1.1), Microsoft.EntityFrameworkCore.Design(2.1.1), Microsoft.EntityFrameworkCore.SqlServer(2.1.1), Pomelo.EntityFrameworkCore.MySql(2.1.1).

Meu projeto funciona de boa.

Boa sorte! Abs