To nie jest pełna odpowiedź dla ciebie, ale po lewej dołączyć kawałek można użyć operatora DefaultIfEmpty tak:
var collection =
from u in db.Universe
join history in db.History on u.id = history.id into temp
from h in temp.DefaultIfEmpty()
where h.dateCol < DateTime.Now.Date.AddDays(-1)
select u.id, u.name, h.dateCol ?? '1900-01-01'
nie miałem potrzebę zrobienia jeszcze żadnych poleceń GroupBy, więc zostawiłem to, aby nie wysłać cię na złą drogę. Dwie inne ważne rzeczy do zapamiętania. Nie udało mi się połączyć dwóch parametrów, chociaż jak wyżej, istnieją sposoby na obejście tego problemu. Ponadto, ?? operator działa naprawdę dobrze na miejscu isnull w SQL.