gpt4 book ai didi

entity-framework - 如何首先通过 Entity Framework 代码以编程方式创建基本/标准版类型的 Sql Azure 数据库

转载 作者:行者123 更新时间:2023-12-04 23:20:43 27 4
gpt4 key购买 nike

我使用 EF 6。我现有的代码是:

public void CreateOrUpdateCompanyDb(string companyDbName)
{
try
{
string connectionString = _connectionStringProvider.GetConnectionString(companyDbName);
DbMigrationsConfiguration cfg = CreateMigrationsConfig(connectionString);
cfg.AutomaticMigrationsEnabled = false;
cfg.AutomaticMigrationDataLossAllowed = false;
DbMigrator dbMigrator = new DbMigrator(cfg);

dbMigrator.Update();
}
catch (MigrationsException exception)
{
_logger.Error(string.Format("Error creating company database '{0}'",companyDbName), exception);
}
}

连接字符串如下:
Server=tcp:xxx.database.windows.net,1433;Database=companyDbName;User ID=xxx@xxx;Password=xxx;Trusted_Connection=False;Encrypt=True;Connection Timeout=30;"

它为特定公司创建数据库。但问题是创建的数据库来自现已退役的 Web 版,但我想创建 Basic/Standard/Premium 版本。

我应该如何操作连接字符串,以便数据库的版本是所需的版本?

最佳答案

您可以在 Create Database 中指定 Sql Azure 数据库的版本命令。
AFAIK,您不能使用连接字符串指定它。

句法 -

CREATE DATABASE database_name [ COLLATE collation_name ]
{
(<edition_options> [, ...n])
}

<edition_options> ::=
{
MAXSIZE = { 100 MB | 500 MB | 1 | 5 | 10 | 20 | 30 … 150…500 } GB
| EDITION = { 'web' | 'business' | 'basic' | 'standard' | 'premium' }
| SERVICE_OBJECTIVE = { 'shared' | 'basic' | 'S0' | 'S1' | 'S2' | 'P1' | 'P2' | 'P3' }
}
[;]

鉴于此,对于您的情况,会想到两个选项-
  • 使用前 DbMigrator , 显式编写创建数据库的代码,如果它不存在使用传统 ADO.Net .
  • 想到的另一个选项,但我不太了解,如果你愿意,你可以深入研究,以某种方式找到一种方法来连接到 EF,这样你就可以自定义 Create Database它必须生成的命令。
  • 关于entity-framework - 如何首先通过 Entity Framework 代码以编程方式创建基本/标准版类型的 Sql Azure 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27617969/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com