.NET Core 2.1 ID ですべてのユーザーとその関連ロールを取得する方法は?
Dec 01, 2024 pm 09:21 PM.NET Core 2.1 ID で関連付けられたロールを持つすべてのユーザーを取得する
関連付けられたロールを含むユーザー情報の取得は、ユーザー管理タスクに不可欠です。 .NET Core 2.1 Identity には、ユーザー ロールを管理するための新しいアプローチがあり、この記事では、この目標を達成する方法について説明します。
IdentityUser の変更について
以前、IdentityUser には、保存するための Rolles プロパティが含まれていました。関連する役割データ。ただし、.NET Core では、このプロパティは削除されました。代わりに、戦略は新しいクラスと関係の導入を中心に展開します。
- ApplicationUserRole: ApplicationUser と ApplicationRole を接続するリンク エンティティ。
- ApplicationRole: を表すクラスrole.
- ApplicationUser: ユーザーを表すクラスで、ApplicationUserRole を参照します。
ソリューションの実装
このソリューションを実装するには、次の手順に従います。これらの手順:
- UserRoles プロパティを持つ ApplicationUser クラス。
- ApplicationUserRole クラスと ApplicationRole クラスを作成します。
- 更新DBContext を処理します。新しいエンティティと関係。
- 更新されたエンティティ タイプを使用して、スタートアップ で ID を構成します。
ロール データの積極的な読み込み
ユーザーのロール情報を積極的にロードするには、次を使用しますコード:
this.Users = userManager.Users.Include(u => u.UserRoles).ThenInclude(ur => ur.Role).ToList();
「不明な列」エラーの解決
「不明な列」に関連するエラーが発生した場合は、次のコードを に追加していることを確認してください。 ApplicationDbContext の OnModelCreatingメソッド:
protected override void OnModelCreating(ModelBuilder builder) { base.OnModelCreating(builder); // Define the relationships for ApplicationUserRole builder.Entity<ApplicationUserRole>(userRole => { userRole.HasKey(ur => new { ur.UserId, ur.RoleId }); ... // Additional relationship configuration goes here }); }
ASP.NET Core 2.2 Update
ASP.NET Core 2.2 以降では、IdentityUserRole<T> の更新方法に本質的な違いがあります。と定義されています。コンパイル エラーを避けるために、IdentityUserRole<string> ではなく IdentityUserRole<Guid> を継承する必要があります。
以上が.NET Core 2.1 ID ですべてのユーザーとその関連ロールを取得する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

人気の記事

人気の記事

ホットな記事タグ

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか?

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし)

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド

共通の脆弱性(SQLインジェクション、ブルートフォース攻撃)に対してMySQLを保護するにはどうすればよいですか?

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか?
