Здесь есть довольно подробное объяснение в другом вопросе: Как выполнить объединение в linq to sql с синтаксисом метода?
Однако я думаю, что это то, что вы 'Вы ищете:
from g in Gestors
join f in Funcionario on g.Id equals f.Gestor_Id
join a in Atributos on f.Id equals a.Funcionario_Id
join c in CentroCusto on f.CentroCusto_Id equals c.Id
where g.Email == "john@email.com"
select new
{
//your fields with their tables prefixes
}
Для объединений мне нравится использовать этот синтаксис, потому что его легче читать и легче конвертировать из SQL для людей, которые только начали работать с Linq.Вы можете использовать синтаксис лямбды, но если вы только начинаете, это будет легче понять, пока у вас не будет немного больше практики с лямбдами.Кроме того, поскольку я не знаю, как выглядит ваша таблица в приведенном выше запросе (indexes, fk, pk's), вы, вероятно, сможете значительно повысить производительность.