У меня есть база данных с таблицей пользователя и роли. У каждого пользователя может быть множество ролей, поэтому есть «средняя» таблица с именем UserRoles, которая просто содержит RoleId и UserId.SQL Linq Многие для многих
Теперь мне нужно получить все роли, прикрепленные к пользователю.
public IEnumerable<Role> GetAllRoles(int UserId)
{
var query = from R in _db.Roles
where RolesTbl.UserRoles.UserId == UserId
select R;
return query;
}
Теперь выше запрос не работает, «RolesTbl.UserRoles.UserId» Я не могу Referance его таким образом из-за многие ко многим.
У кого-нибудь есть предложение о том, как решить проблему?
Fantasic, на самом деле просто. – LiamB
Я немного смущен относительно того, как это работает. Разве тип ur.Roles не был бы некоторым набором ролей? Таким образом, не следует, чтобы тип 'query' стал некоторым' IEnumerable '? ИЛИ делает ли LINQ-TO-SQL какую-то магию здесь, которая отличается от Linq-To-Objects? –
AnthonyWJones
Результат будет (я думаю) IQueryable, который является типом IEnumerable. –
Paddy