2
書き込む方法DbMigration
SQL Serverのエディションに依存するEF 6.xコードファーストマイグレーションを使用して作成しますか?SQL Serverのエディションに応じてエンティティフレームワーク(EF)を移行する
if (SqlEdition == "Enterprise")
{
Sql(@"...");
}
else
{
Sql(@"...");
}
書き込む方法DbMigration
SQL Serverのエディションに依存するEF 6.xコードファーストマイグレーションを使用して作成しますか?SQL Serverのエディションに応じてエンティティフレームワーク(EF)を移行する
if (SqlEdition == "Enterprise")
{
Sql(@"...");
}
else
{
Sql(@"...");
}
を移行中に、クエリを実行するには、この答えのアプローチを使用:説明する
擬似コードhttps://stackoverflow.com/a/30373394/84206
using (var dc = new DbContext("your connection string or name"))
{
string edition = dc.Database.SqlQuery<string>("SELECT SERVERPROPERTY('edition')").Single();
if(edition == "Enterprise")
{
//...
}
else
{
//...
}
}
あなたは 'このクエリの組み合わせを使用することができSERVERPROPERTYをSELECT(「版」 ) 'を実行し、移行の際にエディションを取得するためにこれを実行します:http://stackoverflow.com/a/30373394/84206 – AaronLS
これは、 'オンラインインデックス操作はSQL Server Enterprise Editionでのみ実行できます。'満足していない状態で 'if'の中にONLINE = ONがあってもエラーです。 – alexey
'if'のコードが実行中であれば、それがelseにない限り、条件を満たす必要があります。私はConsole.WritelineまたはDebug.Writelineを使用して出力ウィンドウにメッセージを出力できると思います。クエリ結果を格納しているSqlEdition変数の値を確認し、Writelineをさまざまな場所に配置して、コードが各条件にどこに入り込んでいるかを正確に検証します。 – AaronLS