迁移不会在ASP.NET Core中创建新数据库

时间:2020-10-09 23:36:29

标签: c# sql-server visual-studio entity-framework-core asp.net-core-mvc

我正在尝试使用ASP.NET Core制作一个小型示例应用程序,并创建一个用于日历的数据库。 我添加了Microsoft.EntityFrameworkCore.Tools包,并为用户和自定义数据库上下文添加了一些模型,如下所示(粘贴在1个地方):

   public class ReservationModel
    {
        [Column("Id")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Required]
        public int Id { get; set; }

        [Column("Date")]
        [Required]
        public DateTime Date { get; set; }

        [Required]
        public int ReserverId { get; set; }
    }

   public class UserModel
    {
        [Column("Id")]
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        [Required]
        public int Id { get; set; }

        [Column("IsAdmin")]
        [Required]
        public bool IsAdmin { get; set; }
    }

public class AppDbContext : DbContext
{
    public AppDbContext(DbContextOptions<AppDbContext> options) : base(options)
    {
    }

    public DbSet<UserModel> Users { get; set; }
    public DbSet<ReservationModel> Reservations { get; set; }
}

我正在这样配置它:

   public void ConfigureServices(IServiceCollection services)
    {

        services.AddControllersWithViews();

        services.AddSpaStaticFiles(configuration =>
        {
            configuration.RootPath = "ClientApp/build";
        });

        services.AddDbContext<AppDbContext>
       (o => o.UseSqlServer(Configuration.
        GetConnectionString("MyNewDatabase")));

    }

这是我的连接字符串:

  "ConnectionStrings": {
    "MyNewDatabase": "Server=(localdb)\\mssqllocaldb;Database=MyNewDatabase;Trusted_Connection=True;",
    "initial": "catalog=MyNewDb;",
    "integrated": "security=true"
  }

我在控制台中运行以下命令:

Add-Migration InitialMigration
Update-Database

两者均成功完成,没有错误。

问题是,在服务器浏览器的任何地方都看不到新创建的数据库。我也尝试使用Microsoft SQL Management Studio,但我只能看到4个系统数据库。我没有看到我的新作品。

我尝试打开与。\ SQLEXPRESS的新连接,但我仍然只获得4个系统数据库。

我一直在查看文档并观看在线教程,我按照上面的确切步骤进行操作,以为该应用程序创建一个简单的数据库,但是它对我不起作用。 我还应该提到项目中没有任何Database.EnsureCreated(),所以也不是。 我还尝试过运行该网站,并且该网站在初始化时没有错误,因此现在只是一堆简单的文本。 我似乎丢失了一些东西。在教程中,在执行初始迁移和刷新后,它总是出现在服务器资源管理器中。

0 个答案:

没有答案