То, что вы хотите сделать, страдает от плохой нормализации; AddressPrimary, AddressSecondary и AddressThird не должны быть полями Orders (я предполагаю заказ из вашей строки from t in this.reposOrders.All()
), но должны содержаться в слабой сущности или в таблице соединений.
Тем не менее, вы, вероятно, можете получить то, что вы хотите, с помощью следующего запроса:
var primary = from t in this.reposOrders.All() where t.CustomerID == customerID select t.AddressPrimary;
var secondary = from t in this.reposOrders.All() where t.CustomerID == customerID select t.AddressSecondary;
var tertiary = from t in this.reposOrders.All() where t.CustomerID == customerID select t.AddressThird;
var ids = primary.Union(secondary).Union(tertiary);
var addresses = from a in this.reposAddress.All() where ids.Contains(a.AddressID) select a;