ホームページ >データベース >mysql チュートリアル >.NET Core 2.1 ID でユーザーとそのロールを効率的に取得する方法

.NET Core 2.1 ID でユーザーとそのロールを効率的に取得する方法

Susan Sarandon
Susan Sarandonオリジナル
2024-12-04 17:08:12287ブラウズ

How to Efficiently Retrieve Users and Their Roles in .NET Core 2.1 Identity?

.NET Core 2.1 ID でのユーザーと関連ロールの取得

多くのプロジェクトでは、ユーザーとその関連付けを管理および表示するためにユーザー管理機能が必要です役割。ただし、この情報の取得は簡単ではない可能性があります。

解決策:

当初は、IdentityUser の Roles プロパティを利用するのが一般的でしたが、.NET Core では削除されました。最近のコミュニティの提案に基づく 1 つのアプローチには、追加クラスの導入とデータベース構造の変更が含まれます。

変更されたデータベース構造:

次のものを導入します。クラス:

  • ApplicationUserRole
  • ApplicationRole

UserRoles プロパティと新しいクラスへの参照を使用して ApplicationUser を拡張します。

DbContext変更点:

  • 新しいクラスに対応するための正しい汎用パラメーターを使用して IdentityDbContext を継承します。
  • 関係を確立し、外部キー制約を設定するために OnModelCreating メソッドをオーバーライドします。

スタートアップ ID構成:

  • 以前の ID 構成を維持し、正しい汎用パラメーターが使用されていることを確認します。

ユーザー ロールの積極的な読み込み:

最後に、ユーザーを取得するときに、UserRoles とそれに関連付けられたユーザーロールを積極的にロードします。ロール:

this.Users = userManager.Users.Include(u => u.UserRoles).ThenInclude(ur => ur.Role).ToList();

ASP Core 2.2 の考慮事項:

  • IdentityUserRole は、文字列ではなく型として Guid を使用して定義されるようになりました。
  • 移行を可能にするには、ModelBuilder コードを削除する必要がある場合があります。

このアプローチに従うと、.NET Core 2.1 ID でユーザーとその関連ロールを効果的に取得できます。

以上が.NET Core 2.1 ID でユーザーとそのロールを効率的に取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。