質問: 私は自分のプロジェクトにEntity Framework Core 1.1を追加しようとしており、Azureデータベースからデータを取得するために接続文字列を使用しています。私は変更をで読んでみました。彼らが言うところでは、私は自分のスタートアップでこれを行うべきです.csファイルを使用してDBに接続します。 ``` protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder) { optionsBuilder .UseSqlServer( "connection string", options => options.EnableRetryOnFailure()); } ``` しかし、それはちょうど私にエラーを与える: > 型または名前空間 'DbContextOptionsBuilder'が見つかりませんでした... > > そして > 'Startup.OnConfiguring(DbContextOptionsBuilder):オーバーライドする適切なメソッドが見つかりません。 > > **Microsoft.EntityFrameworkCore**を**使用して**追加でき**ます。** DbContextOptionsBuilderとエラーが消えるようになるが、その後**.UseSqlServerは、**エラーを取得しています: > 'DbContextOptionsBuilder'に 'UseSqlServer'の定義がなく、拡張メソッドもありません... > > これは私のdotnet.csprojファイルです![dotnet.csproj](https://i.stack.imgur.com/gbRs9.png) この問題を解決するには、AzureのDbに接続してデータを取得できますか? 前もって感謝します!
回答: あなたが参照しているブログ投稿は少し混乱するかもしれません。彼らはあなたの**DbContextの** OnConfiguringメソッド*または*スタートアップのいくつかの場所について話しています。あなたの例は、両方の世界を混在させています(DbContextのOnConfiguringメソッドがスタートアップにあることを期待しています)。 まず、 *Microsoft.EntityFrameworkCore.SqlServer*パッケージを追加します。 Startup.csを使用したいとしましょう。次のようになります。 ``` public void ConfigureServices(IServiceCollection services) { services.AddDbContext(options => { options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")); }); } ``` appsettings.jsonで接続文字列を定義することができます: ``` { "ConnectionStrings": { "DefaultConnection": "Data Source=.;Database=;User Id=;Password=" } } ```