Уродливо:
string city = null;
if (myOrder != null && myOrder.Customer != null)
city = myOrder.Customer.City;
Лучше ( может быть монада ):
var city = myOrder
.With(x => x.Customer)
.With(x => x.City)
Еще лучше? По какой причине это не может быть записано?
var city = Maybe(() => myOrder.Customer.City);