c# - Entity Framework Core - 将 Azure SQL 实例设置为在弹性池中预配(不是 T-SQL)
问题描述
语境
我们有一系列用于测试的开发数据库 - Azure SQL。这些数据库经常被删除并重新创建。我们想开始使用弹性池来更好地管理成本。我们正在使用 Entity Framework Core 以 Code First 策略创建和升级数据库。有可能不想将池用于一个或多个环境,因此这应该是可配置的,因此,迁移似乎不是一个可行的选择。
问题
因此,我在尝试使用 EF Core 在弹性池中配置实例时遇到了麻烦。根据此链接上的信息,我尝试了以下方法:
modelBuilder.HasPerformanceLevelSql($"ELASTIC_POOL (name = [{_elasticPoolName}])");
这是OnModelCreating(ModelBuilder modelBuilder)
在 DBContext 内部设置的。
现在,我预计底层的 T-SQL 是这样的:
CREATE DATABASE [DatabaseSomething] ( SERVICE_OBJECTIVE = ELASTIC_POOL ( name = ElasticPoolSomething ) ) ;
但是,启用记录器并查看实际生成的底层 T-SQL 后,我只看到:
CREATE DATABASE [DatabaseSomething];
就好像 EF 忽略了模型构建器上的 ELASTIC_POOL 设置。
附加信息
- 在我们的 Azure 中对实际弹性池进行了多次尝试失败后,我目前正在对一个本地 SQL 实例进行测试,该实例显然没有弹性池,但我假设生成的 T-SQL 仍会反映设置。还是我错了?
- 也试过:(
modelBuilder.HasPerformanceLevelSql($"ELASTIC_POOL (name = {_elasticPoolName})");
没有方括号) - 也试过:
modelBuilder.HasPerformanceLevelSql($"SERVICE_OBJECTIVE = ELASTIC_POOL (name = [{_elasticPoolName}])");
有没有人知道我可能会错过的东西?或者为什么会这样?
提前致谢!
解决方案
推荐阅读
- tensorflow2.0 - 为什么没有 CuDNN?
- reactjs - 如何向 Alice-Carousel 添加自定义箭头按钮?
- python - 解压缩问题和 ValueError:int() 以 10 为底的无效文字:'e'
- python - 从 tkinter GUI 将变量传递给外部模块
- javascript - 粘贴菜单打开而不是在 Safari 中粘贴
- css - 如何创建带有边框的梯形,如下图所示,与旁边的边框链接为直线
- patch - 使用 PSWindowsUpdate 安装 Windows 补丁
- sql - SQLite DB 迁移将数据复制、解析和粘贴到另一列
- swift - 应用程序进入前台后如何弹出视图?
- ms-project - MS Project 服务器的 ERD?