目次
.NET Core 2.1 ID で関連付けられたロールを持つすべてのユーザーを取得する
IdentityUser の変更について
ソリューションの実装
ロール データの積極的な読み込み
「不明な列」エラーの解決
ASP.NET Core 2.2 Update
ホームページ データベース mysql チュートリアル .NET Core 2.1 ID ですべてのユーザーとその関連ロールを取得する方法は?

.NET Core 2.1 ID ですべてのユーザーとその関連ロールを取得する方法は?

Dec 01, 2024 pm 09:21 PM

How to Get All Users with Their Associated Roles in .NET Core 2.1 Identity?

.NET Core 2.1 ID で関連付けられたロールを持つすべてのユーザーを取得する

関連付けられたロールを含むユーザー情報の取得は、ユーザー管理タスクに不可欠です。 .NET Core 2.1 Identity には、ユーザー ロールを管理するための新しいアプローチがあり、この記事では、この目標を達成する方法について説明します。

IdentityUser の変更について

以前、IdentityUser には、保存するための Rolles プロパティが含まれていました。関連する役割データ。ただし、.NET Core では、このプロパティは削除されました。代わりに、戦略は新しいクラスと関係の導入を中心に展開します。

  • ApplicationUserRole: ApplicationUser と ApplicationRole を接続するリンク エンティティ。
  • ApplicationRole: を表すクラスrole.
  • ApplicationUser: ユーザーを表すクラスで、ApplicationUserRole を参照します。

ソリューションの実装

このソリューションを実装するには、次の手順に従います。これらの手順:

  1. UserRoles プロパティを持つ ApplicationUser クラス。
  2. ApplicationUserRole クラスと ApplicationRole クラスを作成します。
  3. 更新DBContext を処理します。新しいエンティティと関係。
  4. 更新されたエンティティ タイプを使用して、スタートアップID を構成します。

ロール データの積極的な読み込み

ユーザーのロール情報を積極的にロードするには、次を使用しますコード:

this.Users = userManager.Users.Include(u => u.UserRoles).ThenInclude(ur => ur.Role).ToList();
ログイン後にコピー

「不明な列」エラーの解決

「不明な列」に関連するエラーが発生した場合は、次のコードを に追加していることを確認してください。 ApplicationDbContextOnModelCreatingメソッド:

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 サイトの他の関連記事を参照してください。

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

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

DockerでのMySQLメモリの使用を減らします DockerでのMySQLメモリの使用を減らします Mar 04, 2025 pm 03:52 PM

DockerでのMySQLメモリの使用を減らします

Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Alter Tableステートメントを使用してMySQLのテーブルをどのように変更しますか? Mar 19, 2025 pm 03:51 PM

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

mysqlの問題を解決する方法共有ライブラリを開くことができません mysqlの問題を解決する方法共有ライブラリを開くことができません Mar 04, 2025 pm 04:01 PM

mysqlの問題を解決する方法共有ライブラリを開くことができません

sqliteとは何ですか?包括的な概要 sqliteとは何ですか?包括的な概要 Mar 04, 2025 pm 03:55 PM

sqliteとは何ですか?包括的な概要

Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Linuxでmysqlを実行します(phpmyAdminを使用してポッドマンコンテナを使用して/なし) Mar 04, 2025 pm 03:54 PM

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

MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド MACOSで複数のMySQLバージョンを実行する:ステップバイステップガイド Mar 04, 2025 pm 03:49 PM

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

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

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

MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? MySQL接続用のSSL/TLS暗号化を構成するにはどうすればよいですか? Mar 18, 2025 pm 12:01 PM

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

See all articles