Мне нужен маленький совет, как лучше решить эту проблему, пожалуйста.
У меня есть объекты Customer, CustomerLocations, SalesOrder и Invoice.
Клиент должен иметь возможность иметь несколько адресов для выставления счетов / доставки, для каждого клиента и для каждого местоположения, что-то вроде адресной книги. Простой !!
Объекты SalesOrder и Invoice должны иметь возможность хранить эти адреса при создании. Опять просто !!
Здесь, однако, речь идет о сделке, я не хочу использовать внешний ключ для позиций продавца или счета, но фактические поля адреса (Строка1, Строка2, Город, Штат ....).
Каков наилучший способ решить эту проблему?
Обновление
Как насчет этого? ![enter image description here](https://i.stack.imgur.com/QUCCM.png)
Или
![enter image description here](https://i.stack.imgur.com/w5PKg.png)
и тогда вы можете получить к нему доступ так:
Partial Public Class Customer
Public ReadOnly Property DefaultBillingAddress As Address
Get
Return Locations.First(Function(x) x.IsDefault).BillingAddresses.First(Function(x) x.IsDefault)
End Get
End Property
Public ReadOnly Property DefaultShippingAddress As Address
Get
Return Locations.First(Function(x) x.IsDefault).ShippingAddresses.First(Function(x) x.IsDefault)
End Get
End Property
Конечный класс