Попробуйте использовать SQL подобный синтаксис. Возможно станет понятнее что как JOIN-ится
var temp = from t in A
join b in B on t.Site = b.Site AND t.C = b.C
where condition
select what you need
Большими буквами помечены коллекции, маленькими - alias.