Начните с перевода запроса SQL на более естественный. Как это:
SELECT t1.LoginName, t0.BNAME
FROM USR02 AS t0
LEFT OUTER JOIN LoginData AS t1
ON t0.BNAME = t1.LoginName
INNER JOIN Mandants AS t2
ON t1.Id_Mandants = t2.Id_Mandants
WHERE t0.MANDT = t2.CodeMandant
Теперь должно быть легко перевести это на LINQ. Если вы правильно настроили отношения в своей модели сущностей, вы сможете написать следующий запрос LINQ:
from data in db.LoginData
where data.User.MANDT == data.Mandant.CodeMandant
select new { data.LoginName, data.User.BNAME };
кстати. Почему вы выводите оба значения LoginData.LoginName
как USR02.BNAME
, поскольку они всегда равны?