【问题标题】:Entity Framework Core not creating database on update-databaseEntity Framework Core 不在更新数据库上创建数据库
【发布时间】:2020-12-17 15:12:15
【问题描述】:

我正在尝试使用代码优先生成我的数据库。当我运行命令update-database 时,我收到该数据库不能为空,但我希望该数据库会自动创建。知道我缺少什么吗?

        services.AddControllers();
    }

    public class SmartSchoolContext : DbContext
    {
        public DbSet<Aluno> Alunos { get; set; }
        public DbSet<Professor> Professores { get; set; }
        public DbSet<Disciplina> Disciplinas { get; set; }
        public DbSet<AlunoDisciplina> AlunosDisciplinas { get; set; }

        public SmartSchoolContext(DbContextOptions options) : base(options)
        {
        }

    }
}

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<SmartSchoolContext>(context => context.UseMySQL(Configuration.GetConnectionString("Default")));
    services.AddControllers();
}

【问题讨论】:

标签: c# entity-framework-core


【解决方案1】:

在 startup.cs>>ConfigureServices 方法中你必须添加

services.AddDbContext<SmartSchoolContext>();

在配置方法中:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env, DataContext context)
{
   // migrate database changes on startup (includes initial db creation)
        context.Database.Migrate();
   // other logic

}

注意:: 使用命令添加和更新数据库确保您的数据库连接已打开

【讨论】:

  • 我不建议在生产代码中自动迁移数据库。面向公众的应用程序使用的数据库登录通常不应具有 DDL(数据定义语言)权限。
猜你喜欢
  • 1970-01-01
  • 2019-06-08
  • 1970-01-01
  • 2017-07-10
  • 2021-10-11
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 2021-04-21
相关资源
最近更新 更多