Entity Framework - l'écriture de la requête à l'aide d'expressions lambda
J'ai juste commencé à Entity Framework & linq et écrire cette requête
var query = from rp in db.UM_RolePermission
where (from ru in db.UM_RoleUser
where ru.UM_User.UserID == userId select ru.RoleID).Contains(rp.RoleId)
select rp;
ci-dessus fonctionne bien et répond à mon besoin, mais je suis en train d'écrire ce même en utilisant la lambda expression à comprendre aussi.
J'ai essayé de lui écrire cela, mais j'ai été incapable de le terminer.
var query1 = db.UM_RolePermission
.Where(rp => (from ru in db.UM_RoleUser where ru.UM_User.UserID == userId select ru.RoleID).Contains(rp.RoleId));
Quelqu'un peut-il complet?
Relation:
UM_RoleUser and UM_User
Grâce
OriginalL'auteur Muhammad Akhtar | 2010-08-16
Vous devez vous connecter pour publier un commentaire.
OriginalL'auteur Diego Torres
- Ce que je vais sauter de l'avant et suppose que vous avez défini une relation entre RolePermission et RoleUser dans un plusieurs-à-plusieurs relation? Qui feront de votre vie beaucoup plus simple.
Bien sûr, cela dépend de la façon dont vous avez configuré vos relations.
Il n'y a pas de relation b/w RolePermission & RoleUser
Pourquoi ne pas le faire? Cela ressemble à une relation naturelle à me base sur ce que vous m'avez dit.
OriginalL'auteur Dave Markle