删除与EF Core一起使用的数据库

时间:2019-04-10 19:12:38

标签: .net-core entity-framework-core drop-database

我需要以编程方式删除EF核心数据库。没问题吧?获取上下文,调用ctx.Database.EnsureDeleted(),一切就绪。

除了..在使用数据库时,您正在使用连接池(这样做有充分的理由),您可能会遇到无法删除数据库的情况。

在EF6时代,我有一个自定义的数据库初始化程序,它按如下方式覆盖InitializeDatabase(将数据库设置为单用户模式,这样其他连接都不会受到干扰)

public override void InitializeDatabase(AudmDatabaseContext context)
    {
        context.Database.ExecuteSqlCommand(TransactionalBehavior.DoNotEnsureTransaction
           , string.Format("ALTER DATABASE [{0}] SET SINGLE_USER WITH ROLLBACK IMMEDIATE", context.Database.Connection.Database));
        base.InitializeDatabase(context);
    }

现在我想知道..您如何使用EF core 2.1做到这一点(或其他可以达到相同效果的东西)?

0 个答案:

没有答案