Два типа должны быть одинаковыми - это означает, что им понадобятся те же имена свойств, что и при использовании анонимных типов. Попробуйте это:
var segreterie = from s in db.USR_Utenti join h in db.USR_Accounts
on new {s.ID, Groups = settings.GruppoSegreteria}
equals new {ID = h.USR_UtentiReference, Groups = h.ID_Gruppo}
select s;
Предполагается, что s.ID
и h.USR_UtentiReference
имеют одинаковый тип, а settings.GruppoSegreteria
и h.ID_Gruppo
делают то же самое.