Это должно объединить запросы в один. Я использовал лямбда-синтаксис с тех пор, как вы начали с этого, хотя я думаю, что в этом случае беглый синтаксис может быть легче следовать:
var result = (context.Table3.Join(context.Table1, t3 => t3.Id_User, t1 => t1.id1, (t3, t1) => new { t3, t1 })
.Join(context.Table2, t3t1 => t3t1.t3.Id_Branch, t2 => t2.id2, (t3t1, t2) => new { t3t1.t3, t3t1.t1, t2 })
.Where(t3t1t2 => t3t1t2.t1.UserName == user && t3t1t2.t2.BranchName == branch)
)
.Any();
Вот эквивалентный синтаксис запроса:
var res2 = (from t3 in context.Table3
join t1 in context.Table1 on t3.Id_User equals t1.id1
join t2 in context.Table2 on t3.Id_Branch equals t2.id2
where t1.UserName == user && t2.BranchName == branch
select t3
)
.Any();