System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.'

behnam

Je travaille sur mon projet basé sur ASP.net Core 2.0. J'ai créé ApplicationRoleet ApplicationUserclasse. J'ai écrit un extrait de code pour créer des rôles lorsque j'exécute mon projet, j'ai cette erreur:

System.Data.SqlClient.SqlException: 'Nom de colonne non valide' ApplicationRoleId '.

Mais le même code que j'utilise dans ASP.net Core 1.1 n'a eu aucun problème.

Je pense qu'il a un problème avec cette ligne de code:

lineNumberOfUsers = r.Users.Count

Parce que lorsque je commente, ce projet de code fonctionne bien, mais j'ai besoin d'un nombre d'utilisateurs pour chaque rôle.

Manette:

public class ApplicationRoleController : Controller
{
    private readonly UserManager<ApplicationUser> _userManager;
    private readonly RoleManager<ApplicationRole> _roleManager;

    public ApplicationRoleController(UserManager<ApplicationUser> userManager, RoleManager<ApplicationRole> roleManager)
    {
        _userManager = userManager;
        _roleManager = roleManager;
    }

    public IActionResult Index()
    {    
        List<ApplicationRoleViewModel> models = new List<ApplicationRoleViewModel>();
        models = _roleManager.Roles.Select(r => new ApplicationRoleViewModel
        {

            Id = r.Id,
            Name = r.Name,
            Description = r.Description,
            NumberOfUsers =  r.Users.Count 
        }).ToList();
        return View(models);
    }
}

Modèle

public class ApplicationRole : IdentityRole
{
    public string Description { get; set; }
    public virtual ICollection<ApplicationUser> Users { get; } = new List<ApplicationUser>(); 
}

J'ai vérifié la requête SQL dans le profileur de serveur SQL. quand j'ai exécuté une requête SQL dans le serveur SQL, j'ai eu la même erreur.

Nom de colonne non valide 'ApplicationRoleId'.

SELECT [r].[Id], [r].[Name], [r].[Description], (
    SELECT COUNT(*)
    FROM [AspNetUsers] AS [a]
    WHERE [r].[Id] = [a].[ApplicationRoleId]
) AS [NumberOfUsers]
FROM [AspNetRoles] AS [r]
codeganesh

La propriété de navigation Usersdans votre ApplicationRoleclasse n'est pas nécessaire.

La relation entre les tables AspNetUserset AspNetRolesest présente dans une table séparée en AspNetUserRolestant que clés étrangères. Ainsi, lorsque vous souhaitez interroger le nombre d'utilisateurs dans un rôle donné, vous devez interroger cette table AspNetUserRoles. Pour y parvenir, vous pouvez appeler

_userManager.GetUsersInRoleAsync("roleName").Result.Count;

Pour ce faire, implémentez votre méthode d'action Index comme ceci:

public IActionResult Index()
{    
  List<ApplicationRoleViewModel> models = new List<ApplicationRoleViewModel>();
  models = _roleManager.Roles.Select(r => new ApplicationRoleViewModel
        {
            Id = r.Id,
            Name = r.Name,
            Description = r.Description
            // notice I am not assigning NumberOfUsers here.See further down...
        }).ToList();

        foreach(var m in models)
        {
          m.NumberOfUsers = _userManager.GetUsersInRoleAsync(m.Name).Result.Count;
        }
        return View(models);
}

J'espère que cela t'aides.

Cet article est collecté sur Internet, veuillez indiquer la source lors de la réimpression.

En cas d'infraction, veuillez [email protected] Supprimer.

modifier le
0

laisse moi dire quelques mots

0commentaires
connexionAprès avoir participé à la revue

Articles connexes

java.sql.SQLException: Nom de colonne non valide

TSQL - Nom de colonne non valide RowNumber

System.Data.SqlClient.SqlException: syntaxe incorrecte près de '='

SqlException: nom d'objet non valide 'OpenIddictTokens'

SqlException: nom d'objet non valide c #

System.Data.SqlClient.SqlException: syntaxe incorrecte près de "="

Nom de colonne non valide asp

System.Data.SqlClient.SqlException: nom de colonne non valide 'Gender_id'

System.Data.SqlClient.SqlException: nom de colonne non valide (erreur à la commande de ligne.ExecuteNonQuery ();)

SqlClient.SqlException: nom de colonne non valide ClassNameId lors de la récupération de données depuis l'API Fluent

System.Data.SqlClient.SqlException: erreur de source de nom de colonne non valide: cmd.ExecuteNonQuery ()

L'instruction SQL utilisée dans le programme C # ne reconnaîtra pas la base de données "System.Data.SqlClient.SqlException (0x80131904): Affichage du nom d'objet non valide 'CDA'."

Erreur Asp.net mvc System.Data.SqlClient.SqlException: 'Nom d'objet non valide' AspNetUsers '.'

SqlException: nom de colonne non valide, comment corriger?

SQL Server - Nom de colonne non valide

Nom de colonne non valide | C #

Erreur: java.sql.SqlException: type de colonne non valide

"Nom de colonne non valide" ORDER BY

System.Data.SqlClient.SqlException: nom d'objet non valide 'dbo.Slider'

Base de données System.Data.SqlClient.SqlException

Erreur : nom de colonne non valide

System.Data.SqlClient.SqlException : 'Syntaxe incorrecte près de ','.'

System.Data.SqlClient.SqlException : 'Nom de colonne non valide '"

Nom de colonne non valide de la table temporaire

System.Data.SqlClient.SqlException : nom d'objet non valide dans EF- mais dans l'attribut de table défini le nom propre

SqlException : nom de colonne non valide 'EmployeeID1'

"System.Data.SqlClient.SqlException : nom de colonne non valide" lors de la vérification du nom d'utilisateur

System.Data.SqlClient.SqlException: 'Nom de colonne non valide 'musique'.'

SqlException was Unhandled Une exception non gérée de type 'System.Data.SqlClient.SqlException' s'est produite dans System.Data.dll

TOP liste

  1. 1

    comment afficher un bouton au-dessus d'un autre élément ?

  2. 2

    impossible d'obtenir l'image d'arrière-plan en plein écran dans reactjs

  3. 3

    Je continue à obtenir l'objet 'WSGIRequest' n'a pas d'attribut 'Get' sur django

  4. 4

    comment supprimer "compte de connexion google" à des fins de développement - actions sur google

  5. 5

    Conversion double en BigDecimal en Java

  6. 6

    Impossible d'accéder à la vue personnalisée pendant le test de l'interface utilisateur dans XCode

  7. 7

    Algorithme: diviser de manière optimale une chaîne en 3 sous-chaînes

  8. 8

    Passer la taille d'un tableau 2D à une fonction ?

  9. 9

    Comment obtenir l'intégration contextuelle d'une phrase dans une phrase à l'aide de BERT ?

  10. 10

    Comment changer le navigateur par défaut en Microsoft Edge pour Jupyter Notebook sous Windows 10 ?

  11. 11

    CSS: before ne fonctionne pas sur certains éléments,: after fonctionne très bien

  12. 12

    Comment créer un bot à compte à rebours dans Discord en utilisant Python

  13. 13

    Comment ajouter une entrée à une table de base de données pour une combinaison de deux tables

  14. 14

    Exporter la table de l'arborescence vers CSV avec mise en forme

  15. 15

    Comment activer le message Pylint "too-many-locals" dans VS Code?

  16. 16

    Créer un système Buzzer à l'aide de python

  17. 17

    Spring @RequestParam DateTime format comme ISO 8601 Date Heure facultative

  18. 18

    Empêcher l'allocation de mémoire dans la génération de combinaison récursive

  19. 19

    Déplacement des moindres carrés d'ajustement pour les déplacements de points ayant des problèmes

  20. 20

    Comment choisir le nombre de fragments et de répliques Elasticsearch

  21. 21

    Microsoft.WebApplication.targets

chaudétiquette

Archive