Ce n'est pas une réponse complète pour vous, mais à gauche rejoindre pièce, vous pouvez utiliser l'opérateur DefaultIfEmpty comme ceci:
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'
Je n'ai pas eu besoin de faire une groupby commandes encore, alors j'ai laissé cela de côté pour ne pas vous envoyer sur le mauvais chemin. Deux autres choses rapides à noter. J'ai été incapable de joindre réellement deux paramètres bien que, comme ci-dessus, il existe des moyens de contourner ce problème. Également ?? L'opérateur fonctionne vraiment bien à la place de l'isnull dans SQL.