.net core 正在删除与EF Core一起使用的数据库

.net core 正在删除与EF Core一起使用的数据库,.net-core,entity-framework-core,drop-database,.net Core,Entity Framework Core,Drop Database,我需要以编程方式删除EF核心数据库。没问题,对吧?获取一个上下文,调用ctx.Database.EnsureDeleted(),就可以完成所有设置 除了。。使用数据库时,如果使用连接池(有充分的理由这样做),可能会遇到无法删除数据库的情况 回到EF6时代,我有一个自定义DB初始值设定项,它覆盖InitializeDatabase,如下所示(将DB设置为单用户模式,这样其他连接就不会干扰) 现在我想知道。。您如何使用EF core 2.1做到这一点(或其他让我获得相同效果的东西) public o

我需要以编程方式删除EF核心数据库。没问题,对吧?获取一个上下文,调用ctx.Database.EnsureDeleted(),就可以完成所有设置

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

回到EF6时代,我有一个自定义DB初始值设定项,它覆盖InitializeDatabase,如下所示(将DB设置为单用户模式,这样其他连接就不会干扰)

现在我想知道。。您如何使用EF core 2.1做到这一点(或其他让我获得相同效果的东西)

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);
    }