質問: `DbContexts` Entity Framework Core `DbContexts`のサポートが不足している(まだ)のを見逃してしまう何かがあるかどうかを判断しようとしています。私は4.6.1( LinqPadフォーラムで提案されているように )のコードターゲティングをコンパイルし、 "Entity Framework V7"ドライバを試しましたが、その名前が示すように、最新のものだとは思いません。それでも、コンストラクタのapp.configファイルまたは接続文字列を要求します。 ![コンテキストの追加ダイアログ](https://i.stack.imgur.com/gQYdO.png) EFコアコンテキストでは接続文字列ではなく構築に`DbContextOptions`が使用さ`DbContextOptions`ため、接続文字列を`DbContextOptions`コンストラクタオーバーロードを作成する可能性があると考えていましたが、基盤となるデータベースドライバは処理されません。コンテキストを構築するためのファクトリを指定する方法はありますか?他の可能性は?私はLinqPadなしで失われた気分です。
回答: 最新のEFCore 1.1 LINQPadドライバー(v1.1.1.1)は、文字列を受け入れるコンストラクターを正しく使用できます(LINQPadでこのオプションが選択されている場合)。 そのため、次のコンストラクターを追加できます。 ``` public ApplicationDbContext(string connectionString) : this(new DbContextOptionsBuilder() .UseSqlServer(connectionString).Options) { } ``` これにより、このコンテキストインスタンスがSQLサーバープロバイダーにハードリンクされますが、少なくとも接続文字列にはリンクされません。さらに、アプリがこのコンストラクターを使用しようとする可能性は低いため、EF Coreは決してctorを期待/促進しません。文字列を受け入れます。 さらに安全にするために、このコンストラクタを`#if DEBUG ... #endif`でラップして、実稼働`#if DEBUG ... #endif`ないようにすることができます。