web-dev-qa-db-ja.com

IdentityDbContextを継承するときに、スキャフォールディングMVCがApplicationDbContextをロードしない

Add MVC Controller with views, Using Entity Framework

私がしたこと?

まず、認証「個人ユーザーアカウント」を使用してAsp.net Webアプリケーションプロジェクト(3.1)を作成しました

プロジェクトにはすでにIdentityDbContextを継承するApplicationDbContextがあります。

Identityページの足場は問題ではなく、スムーズに実行されます。

問題は

基本的なモデルを1つ作成します。私の場合はClientAreaモデルを足場で試してみます。DataContext DropDownが空で、ドロップダウンに「ApplicationDbContext」が表示されません。新しいDbContextを作成するように要求されます。 「別のプロジェクトを作成する代わりに、プロジェクト全体で同じApplicationDbContextを使用するにはどうすればよいですか。

何らかの方法で新しいDbContextを作成し、それを "DbContext"ではなくIdentityDbContextから再度継承すると、新しく作成されたコンテキストも表示されなくなります。

後でビジュアルスタジオ2017から.netコア2.1 mvcを作成しようとしましたが、そこで足場が正常に機能していることがわかりました。

そこで、Visual Studio 2019から新しい.netコア2.1 mvcを作成しましたが、同じ問題があることがわかりました。

したがって、問題は.netコア自体ではなくビジュアルスタジオ2019にあると思います。

誰か確認してください。 Visual Studio 2019の現在のバージョンはバージョン16.6.0です

2
dilli.shrestha

私はあなたの問題を再現しました。 Asp.net Webアプリケーションプロジェクト(3.1)を認証付きの「個人ユーザーアカウント」プロジェクトで作成したため。

まず、VS2019のToolメニューのPackage Manager ConsoleNuGetPackage Managerオプションを選択する必要があります。

enter image description here

そして、コンソールタブにupdate-databaseと入力してデータベースを更新すると、対応するApplicationDbContextがデータベースで有効になります。

enter image description here

実行が成功した後、スキャフォールディングコントローラを再度作成すると、対応するApplicationDbContextが表示され、Data context classオプションで選択できます。

enter image description here

0
Yongqing Yu