2016-09-30 14 views
1

一部のEntity FrameworkコアCLIコマンドでは、environmentパラメータを受け入れます。たとえば、dotnet ef migrations list --environment <env_name>です。EntityFrameworkに渡される環境パラメータの使用方法コアCLI

私が移行を維持するアセンブリは、データエンティティアセンブリとは別になっているため、IDbContextFactoryから派生しなければなりませんでした。

ここに私の質問が来る:私のDbContextFactoryクラスの中からCLIに渡される環境パラメータを取得する方法はありますか?特定の環境の接続文字列を適用するには、これが必要です。

ありがとうございます。

答えて

5

愚かな私は、周り見ての一日を過ごした後、私はIDbContextFactoryインターフェースのCreate方法が順番にCLIコマンドに渡された一つであることが表示されますEnvironmentName性質を持っているタイプDbContextFactoryOptionsのパラメータを持っていることに気づきました。

ケースが閉じられました。

+0

ドキュメントの深刻な不足にもかかわらず、EFコアを使用してスマートな人々に名誉!うまくいけば、これは[aspnet/EntityFramework.Docs#204](https://github.com/aspnet/EntityFramework.Docs/issues/204)の対象となります。 – bricelam

0

ASP.NETコアおよびEFコア2.0.1

2人のSQLユーザーが作成されたアプリケーションのためのより低い特権を維持しながら、エンティティの変更を移行するための高められた権限を付与するために。

アプリケーションの接続情報はappsettings.jsonに格納されています。 EF CLIで使用する接続情報はappsettings.<ENVIRONMENT_NAME>.jsonに格納されています。どちらも同じConnectionStringsキーを使用します。

dotnet efを正常に実行するには、データベースを更新する前にASPNETCORE_ENVIRONMENTが設定されている必要があります。

set ASPNETCORE_ENVIRONMENT=<ENVIRONMENT_NAME> 
dotnet ef database update 
関連する問題