通过 EF Core 自动创建时的默认 Azure SQL DB 定价

Posted

技术标签:

【中文标题】通过 EF Core 自动创建时的默认 Azure SQL DB 定价【英文标题】:Default Azure SQL DB pricing when created automatically through EF Core 【发布时间】:2019-11-29 03:43:16 【问题描述】:

我们有一个使用 Entity Framework Core 的 Web 应用程序。如果给它一个连接到 Azure 上不存在的数据库的连接字符串,调用 dbContext.Database.Migrate() 将自动创建它。这对我们的开发分支非常有用,因为我们使用数据库名称与分支名称相同的连接字符串来调用它,它会自动创建 Azure SQL DB 资源。

当我们开始时,似乎默认使用 DTU 定价模型和“基本”层创建数据库,这是每月 5 英镑的最便宜选项,非常适合开发分支。

但它似乎发生了变化,默认定价模式现在是 vCore General Purpose Generation 5,每月 320+ 英镑!我们在发票上注意到了这一点!

有没有办法指定创建的默认 Azure SQL DB 配置?这可能与实体框架无关,但可能是 Azure 订阅级别的设置。

【问题讨论】:

【参考方案1】:

在运行 migrate 之前使用正确的选项发出 CREATE DATABASE 语句,或者更好地使用 ARM 模板并在发布期间部署它。

【讨论】:

+1 用于 ARM 模板,然后您还可以创建整个环境作为管道的一部分,因此还可以测试它的创建以及它在测试中的有效性。

以上是关于通过 EF Core 自动创建时的默认 Azure SQL DB 定价的主要内容,如果未能解决你的问题,请参考以下文章

使用 EF Core 过滤包含时的列名无效

Azure Cosmos DB(EF/Core)-驼峰式属性名称

使用托管标识与 Azure SQL 的 EF Core 连接

如何首先将 EF Core 代码与 azure synapse 一起使用

Azure Functions .NET Core 中的 EF Core 2.0 连接字符串

使用 Azure MSI 的身份服务器 EF Core DB 配置