Есть несколько способов справиться с ситуацией. Объединения не нужны в большинстве ситуаций и обычно избегаются в EF.
var orders = orderRepository.GetAll();
var projection = orders.Where(o => o.Customer.Name == "Foo")
.Select(o => new { o, o.Customer });
Универсальный репозиторий - это дырявая абстракция. Реализуйте конкретный репозиторий для каждой сущности и создайте метод, который выполняет соединение и возвращает результат.