Bonjour,asp.net entity framework confused
Mon programme me pose tellement de problèmes. Tout d'un coup, il me donne une erreur:
Nom de colonne invalide 'UserProfile_UserId'.
pour ce code:
public ActionResult Index()
{
---> var model = _db.Roles.ToList();
return View(model);
Ce qui est logique. Mais le problème est i.m même en utilisant la classe de profils utilisateur. Im en utilisant la classe Rôles.
Voici mon contrôleur:
FSKDb _db = new FSKDb();
//
// GET: /Roles/
public ActionResult Index()
{
var model = _db.Roles.ToList();
return View(model);
}
et voici ma classe DB:
namespace Attempt3.Models
{
public class FSKDb : DbContext
{
public FSKDb() : base("name=DefaultConnection")
{
}
public DbSet<UserProfile> UserProfiles { get; set; }
public DbSet<Roles> Roles { get; set; }
}
}
classe Rôles:
[Table("webpages_Roles")]
public class Roles
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int RoleId { get; set; }
public string RoleName { get; set; }
public string Description { get; set; }
}
UserProfile Classe
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Surname { get; set; }
public string ClientCode { get; set; }
public ICollection<Roles> UserRoles { get; set; }
}
Im ne sais pas pourquoi quand j'essayer de trouver des rôles dans mon contrôleur que l'EF tente de rechercher l'utilisateur Profiles_UserID
Il ne devrait chercher que si je suis à la recherche d'un utilisateur, pas un rôle. et même si le nom de coloumn UserProfile UserId est juste « UserId » et non « UserProfile_UserId »
Merci
Hey, j'ai copié tout le code en om votre question et je n'ai pas eu de problèmes. Avez-vous des connaissances sur OnModelCreating ou d'autres parties fluides de EF? –
Deuxième question: votre code EF génère une relation un-à-plusieurs entre l'utilisateur et le rôle (un utilisateur a de nombreux rôles, un rôle a un utilisateur). Cela semble très étrange. Peut-être que vous avez besoin d'une relation plusieurs-à-plusieurs? (Un utilisateur a de nombreux rôles, un rôle a de nombreux utilisateurs). Si c'est le cas, vous devez ajouter à la collection de classes Roles des UserProfiles. –
Quelque chose est très bizarre, ça fonctionnait aussi pour moi et ça a commencé avec cette erreur, mais ça a quelque chose à voir avec mes modèles. J'essaie d'entrer des rôles dans la table des rôles générés par défaut.}} – Zapnologica