使用EF Core自动创建数据库

时间:2020-08-27 20:45:29

标签: c# sql-server entity-framework-core

我在Winforms应用程序中使用EF Core,但是如果不进行迁移,我将无法自动生成数据库。

我阅读了这篇文章,但这是针对asp.net核心的:auto create database in Entity Framework Core

我的DbContext

    public DbSet<Users> Users { get; set; }
    public DbSet<Accounts> Acc { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["FreeAcc"].ConnectionString);
    }

编辑:我正在使用localdb

1 个答案:

答案 0 :(得分:0)

如果数据库不存在,则可以使用context.Database.EnsureCreated()创建数据库。

EnsureCreated将创建一个不存在的数据库并初始化数据库模式。如果存在任何表(包括另一个DbContext类的表),则不会初始化该模式。

EnsureCreatedMicrosoft.EntityFrameworkCore中EF Core的一部分,它不是ASP.NET Core专有的。

我建议您在应用程序启动时或在使用EnsureCreated之前致电DbContext

EF Core Create and Drop APIs Documentation

相关问题