Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Entity framework 如何通过实体框架禁用Azure SQL数据库资源的自动创建_Entity Framework_Azure_Azure Sql Database - Fatal编程技术网

Entity framework 如何通过实体框架禁用Azure SQL数据库资源的自动创建

Entity framework 如何通过实体框架禁用Azure SQL数据库资源的自动创建,entity-framework,azure,azure-sql-database,Entity Framework,Azure,Azure Sql Database,我有一个问题,当我运行我的ASP.NET项目时,它会自动创建一个新的Azure SQL数据库(第5代,2个虚拟核心,每月340欧元)。在我的代码中,使用诸如“context.Database.CreateIfNotExists”或“Migrate”之类的任何东西都不会在任何地方指定这一点 CloudConfiguration中的连接字符串指向Azure中存在的数据库服务器。不过,我不希望它在该服务器上自动创建新的Azure SQL数据库 奇怪的是,它创建了新的Azure SQL数据库,但没有在其

我有一个问题,当我运行我的ASP.NET项目时,它会自动创建一个新的Azure SQL数据库(第5代,2个虚拟核心,每月340欧元)。在我的代码中,使用诸如“context.Database.CreateIfNotExists”或“Migrate”之类的任何东西都不会在任何地方指定这一点

CloudConfiguration中的连接字符串指向Azure中存在的数据库服务器。不过,我不希望它在该服务器上自动创建新的Azure SQL数据库


奇怪的是,它创建了新的Azure SQL数据库,但没有在其中创建任何表,因此从Entity Framework进行的迁移似乎没有被应用。

请与无法创建数据库的用户一起运行应用程序,并查看其失败之处

仅管理员(服务器管理员登录或Azure AD管理员) 以及主数据库中dbmanager数据库角色的成员 具有执行创建数据库和删除数据库的权限 声明


谢谢,这就是解决方案。但不管怎样:为什么后台的实体框架在Azure中创建了一个新的数据库资源,它的层非常高,而且成本很高?这是赚钱的经济伎俩吗?我想如果你能得到这样的通知会更好。是的。这是一个解决方法和故障排除的想法,而不是解决方案。EF不只是在没有人告诉的情况下创建数据库,但在我们的案例中它做到了。使用实体框架创建一个新的ASP.NET应用程序就足够了。让连接字符串指向Azure中已存在的数据库服务器,但选择一个尚未存在的数据库名称。它将创建一个新的Azure SQL数据库“Gen5v2”。因此,如果数据库不存在,则创建该数据库是EF的默认数据库初始化行为。因此,您通常希望预创建数据库或自定义数据库初始化以更改SKU或使用现有的弹性数据库池。