Я бы не использовал UNION
для этой проблемы, так как запрос может иметь низкую производительность.Объединение 4 таблиц и последующая сортировка (для получения максимума) могут быть очень медленными с большими таблицами.
Либо получите 4 MaxDates из 4 запросов и найдите их максимум в приложении, либо используйте 4 подзапроса, чтобы получить эти 4MaxDates и затем (SQL синтаксис) CASE WHEN
или UNION
этих результатов (которые будут только 4 строки) и MAX()
.
Не знаю, как перевести с SQL на Linq-to-sql
...