首页 / 问答 / .NET Core应用程序中如何使用Entity Framework Core(EF Core)对数据库进行初始化?

.NET Core应用程序中如何使用Entity Framework Core(EF Core)对数据库进行初始化?

0

使用Entity Framework Core的时候,通常情况下我们可以手动使用命令行完成Entity Framework Core(EF Core)对数据库的初始化操作,比如:

dotnet ef migrations add MyFirstMigration
dotnet ef database update

在.NET Core的应用程序中,如何使用编程的方式利用Entity Framework Core对数据库进行初始化呢?在EF 6中可以使用类似如下的方法:

Database.SetInitializer(new CreateDatabaseIfNotExists<MyContext>());

但在EF Core中以上方法不能再使用了,EF Core中的实现又是如何的呢?

回复 [×]
提交评论
请输入评论内容

2 个回答

  • 0

    在.NET Core应用程序编程开发中,如果你已经创建了迁移脚本,可以在Startup.cs类中直接使用context.Database.Migrate()方法进行数据库的迁移,如下:

    以上的context.Database.Migrate()方法将调用你创建的迁移脚本自动创建数据库和对应的表结构。

    如果你还没有创建迁移脚本,则可调用context.Database.EnsureCreated()方法,EF Core会配置好的数据库连接和实体类自动创建数据库及对应的表结构,如下:

    如果你还需要在创建数据库前先删除原来的数据库,则可调用context.Database.EnsureDeleted()来删除数据库上下文的指定数据库。

    Rector的个人主页

    Rector

    2020-01-15 回答

    • 0

      在EF Core 2.0+的版本中,由于EF Core的部分API有所改变,从2019年3月开始,微软建议你将数据库迁移代码放在应用程序入口类中,并且放在WebHost构建代码的外部,如下:

      Rector的个人主页

      Rector

      2020-01-15 回答

      我来回答