質問: 私は「Pro ASP.NET Core MVC 2」という本を読んでおり、彼のサンプルに続いて、彼がEF Coreを紹介するようになりました。 彼は`.csproj`ファイルに以下を追加するように言っています... ``` ``` ...次に、 `Startup.cs` `ConfigureServices`メソッドに次を追加します... ``` services.AddDbContext(options => options.UseSqlServer( Configuration["Data:SportStoreProducts:ConnectionString"])); ``` 問題は、 `.csproj`ファイルに行を追加すると、出力ウィンドウに次のメッセージが表示されることです... > C:\ Program Files \ dotnet \ sdk \ 2.2.104 \ Sdks \ Microsoft.NET.Sdk \ targets \ Microsoft.NET.ObsoleteReferences.targets(33,5):警告NETSDK1059:ツール 'Microsoft.EntityFrameworkCore.Tools.DotNet '.NET Core SDKに含まれるようになりました。この警告の解決に関する情報は( )で入手できます。 > > OK、だから私は再び`.csproj`ファイルから行を削除し、 `Startup.cs`ファイルでコンパイラエラーを取得しました。 > タイプ`ApplicationDbContext`が見つかりませんでした。 > > 名前空間`Microsoft.Extensions.EntityFrameworkCore` usingを追加しましたが、見つからないというコンパイラエラーが発生しました。 Nugetで検索するために(R#からだと思う)オファーを受け取りましたが、何も思いつきませんでした 誰でもアイデアはありますか? 2.0にダウングレードする以外は、どうすればいいかわかりません。 **UPDATE** OK、だから私は大丈夫だ。私はベッドで本を読み、翌日サンプルコードを実行しようとしました。コンテンツを知っていると思い、プロジェクトをビルドしながら読み飛ばしました。彼が変更を示した2つのコードスニペットを見逃したに違いありません。本のすべてではなく、すべての私のせい。
回答: ASP.NET Coreブックの悪い点は、これまでのところ、非常に早く廃止されることです。 このページでは、 `` `dotnet ef`コマンドの``参照がSDKの一部になったため、これらの参照は不要になったと説明しています。 クラス`ApplicationDbContext`が見つからないのは、使用されているプロジェクトテンプレートが*個々のユーザーアカウントに* ASP.NET Core Identityを使用しておらず、クラスを手動で作成する必要があることを説明していないか、従わなかったためです徹底的に。これを修正するには2つのオプションがあります。 * ASP.NET Core Identityを使用してプロジェクトを再作成します。 ここでの手順、または * これだけのクラスを作成します。 ``` public class ApplicationDbContext : IdentityDbContext { } ``` ただし、本にこれが示されていない場合は、一連のASP.NET Core Identityパッケージ、Entity Framework Coreパッケージをインストールし、それらをすべてStartupクラスで構成し、ApplicationUserクラスを作成する必要があることに注意してください。何も欠けていません。非常に多くの退屈な作業。