In a many-to-many relationship, when I need results on only one side, filtered by values ββon the other, I usually start my query in the middle of a relationship:
To get the user role:
var users = from ur in context.UsersInRole
where ur.Role.Name == "admin"
select ur.User;
To get user roles:
var roles = from ur in context.UsersInRole
where ur.User.UserName == "Jon"
select ur.Role
source
share