私は別の環境で移行を実行したいと思います。私はEntity FrameworkとASP.NET Coreを使って作業しています。今のところ私はこれを持っています:asp.netコアを実行する接続文字列をハードコードしないでクラスライブラリでEFを移行する
public class TemporaryDbContextFactory : IDbContextFactory<ApplicationDbContext>
{
public ApplicationDbContext Create(DbContextFactoryOptions options)
{
var builder = new DbContextOptionsBuilder<ApplicationDbContext>();
builder.UseSqlServer("Data Source=.\\LOCALHOST;Initial Catalog=MyDB;Integrated Security=True;MultipleActiveResultSets=true");
return new ApplicationDbContext(builder.Options);
}
}
このコードは、データベースのやりとりをサーバーコードから分離するDALクラスライブラリにあります。
マイグレーションを実行するときにこれを使用するのは問題ありませんが、このようにするのは本当に好きではありません。
私は開発用にローカルデータベースを使用していますが、開発サーバーと異なる接続文字列を持つステージングサーバーもあります。私ができないことは、そのクラスの接続文字列をハードコードしない方法を見つけることです。
異なる環境に接続文字列を設定し、移行を実行する際にどの文字列を使用するかを指定する方法はありますか?
私はこれをこのように構成できることを知っていました。それは私の行いましたが、どのようにマイグレーションを実行するときにどの環境を指定できるのでしょうか? –
@AntoineThiry移行を実行する前にASPNETCORE_ENVIRONMENTを設定してください – galakt
ありがとう、私はこの部分を逃しました、この明らかな質問をしてはいけません... –