У меня есть три таблицы для многих отношений. Я присоединился к трем таблицам и выбираю значение, которое я хочу, но теперь мне нужно выбрать одну строку из результата запроса, где, указав идентификатор, это моя третья таблица 
И это запрос с использованием выражения LINQ lambda:
DataBaseContext db = new DataBaseContext();
public ActionResult Index()
{
var UserInRole = db.UserProfiles.
Join(db.UsersInRoles, u => u.UserId, uir => uir.UserId,
(u, uir) => new { u, uir }).
Join(db.Roles, r => r.uir.RoleId, ro => ro.RoleId, (r, ro) => new { r, ro })
.Select(m => new AddUserToRole
{
UserName = m.r.u.UserName,
RoleName = m.ro.RoleName
});
return View(UserInRole.ToList());
}
результат будет таким, как с помощью sql query
sql запрос
select *
from UserProfile u join webpages_UsersInRoles uir on u.UserId = uir.UserId
join webpages_Roles r on uir.RoleId = r.RoleId
результат запроса sql

теперь я использую запрос anther sql, чтобы отфильтровать результат запроса sql по запросу и установить условие where u.UserId = 1, чтобы дать мне обратно пользователя с идентификатором 1, подобным этому
select *
from UserProfile u join webpages_UsersInRoles uir on u.UserId = uir.UserId
join webpages_Roles r on uir.RoleId = r.RoleId
where u.UserId = 1
и результат этого sql запроса

так как я могу добавить where clause в мое lambda-выражение, чтобы дать мне тот же результат, что и результат запроса sql, и спасибо за любую помощь