2012-08-28 4 views
0

J'ai une table appelée User, une table appelée Permission et une table d'association afin que de nombreux utilisateurs puissent avoir plusieurs permissions.Comment ajouter une association de table dans Entity Framework?

utilisateur

ID - PK

Permission

ID - PK

UserPermission

UserID - PK (FK à l'utilisateur)

PermissionID - PK (FK à autorisation)

Dans le cadre de l'entité comment puis-je ajouter une entrée à la table d'association pour lier un utilisateur à une autorisation?

J'ai essayé ce qui suit sans succès:

var user = _Repository.Users.Single(u => u.ID == someUserID); 
var permission = _Repository.Permissions.Single(p => p.ID == somePermissionID); 

user.Permissions.Add(permission) //Not working 
user.Permission.Attach(permission) //Still not working 

_Repository.Save(); 

Quelqu'un peut-il aider?

Répondre

0

Il devrait être:

UserPermission obj = new UserPermission { UserID = someUserID, PermissionID = somePermissionID }; 
_Repository.UserPermissions.AddObject(obj) 
_Repository.Save(); 

Espérons que cela aidera.

+0

Je ne pense pas que cela fonctionne, Entity Framework ignore mon association de table et la traite comme une navigation. Donc je n'ai pas accès à la table Association –

+0

C'est parce que la table d'association n'a que deux champs qui sont liés à leur table parent, c'est pourquoi elle n'apparaît pas dans votre fichier edmx. Mais il consiste toujours dans le fichier designer.cs. Vous trouverez certainement ** UserPermissions ** dans IntelliSense. –

+0

J'ai fait une recherche de la table dans l'Entity Framework Designer.cs et il n'y a pas de classe pour la table d'association –

Questions connexes