.NET Core应用程序中如何使用Entity Framework Core(EF Core)对数据库进行初始化?
4.31K 次浏览
使用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 个回答
-
在.NET Core应用程序编程开发中,如果你已经创建了迁移脚本,可以在
Startup.cs
类中直接使用context.Database.Migrate()
方法进行数据库的迁移,如下:以上的
context.Database.Migrate()
方法将调用你创建的迁移脚本自动创建数据库和对应的表结构。如果你还没有创建迁移脚本,则可调用
context.Database.EnsureCreated()
方法,EF Core会配置好的数据库连接和实体类自动创建数据库及对应的表结构,如下:如果你还需要在创建数据库前先删除原来的数据库,则可调用
context.Database.EnsureDeleted()
来删除数据库上下文的指定数据库。