var query = (from u in ds.Tables["User"].AsEnumerable()
join r in ds.Tables["Role"].AsEnumerable()
on u.Field<int>("RoleId") equals r.Field<int>("Id")
select new
{
Id = u.Field<int>("Id"),
Name = u.Field<string>("Name"),
RoleId = r.Field<int>("Id"),
RoleName = r.Field<string>("Name")
}).Where(q => q.RoleId == 2);