No se ha encontrado DbContext o Se ha configurado un almacén relacional sin especificar la DbConnection o la cadena de conexión para usar

asp.net-core asp.net-core-mvc entity-framework-core

Pregunta

al usar los comandos de Entity Framework ("7.0.0-beta1").

cuando se ejecuta

k ef migracion agregar InitialCreate

Estoy recibiendo errores.

[Solución]

Intento mover mi archivo de clase (donde se crea DbContext) al proyecto principal desde una biblioteca de clases separada y todo funciona como se espera.

así que el problema real es cuando se usa DbContext en una biblioteca de clases separada.

mi archivo dbcontext

public class DbTables : DbContext
{

    public DbSet<class_name> class_name_alias { get; set; }

    private static bool _created = false;

    public DbTables()
    {
        if (_created)
        {
            Database.AsRelational().ApplyMigrations();
            _created = true;
        }
    }

    protected override void OnConfiguring(DbContextOptions options)
    {
        options.UseSqlServer(@"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=app_db;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False");
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
    }

}

Respuesta aceptada

Si crea un DBContext en una biblioteca de clases, para crear la migración debe declarar el comando ef en el project.json de esta biblioteca de clases. y ejecute el comando k ef para este proyecto.

{
    "version": "1.0.0-*",
    "dependencies": {
        "EntityFramework.SqlServer": "7.0.0-beta1",
        "EntityFramework.Commands": "7.0.0-beta1" 
    },
    "commands": {
        "ef": "EntityFramework.Commands"
    },
    "frameworks" : {
        "aspnet50" : { 
            "dependencies": {
            }
        },
        "aspnetcore50" : { 
            "dependencies": {
                "System.Runtime": "4.0.20-beta-22231"
            }
        }
    }
}

Debe anular el método OnConfiguring para configurar una cadena de conexión

{
    "version": "1.0.0-*",
    "dependencies": {
        "EntityFramework.SqlServer": "7.0.0-beta1",
        "EntityFramework.Commands": "7.0.0-beta1" 
    },
    "commands": {
        "ef": "EntityFramework.Commands"
    },
    "frameworks" : {
        "aspnet50" : { 
            "dependencies": {
            }
        },
        "aspnetcore50" : { 
            "dependencies": {
                "System.Runtime": "4.0.20-beta-22231"
            }
        }
    }
}



Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué
Licencia bajo: CC-BY-SA with attribution
No afiliado con Stack Overflow
¿Es esto KB legal? Sí, aprende por qué