Customer
- Orders
есть отношения друг к другу. Потребуется ForeignKey CustomerId
в Orders
. Таким образом, это должно быть сделано.
Orders
- Products
У многих есть много отношений. Будет требоваться много-много таблиц (например, RelatedOrderProducts
) с полями внешнего ключа OrderId
и ProductId
таблиц Orders
и Products
соответственно.
Customer
и Packages
также являются очень многими отношениями. Так же, как и выше, должно быть много-много таблиц (RelatedPackagesCustomers
) с полями внешнего ключа PackageId
и CustomerId
таблиц Packages
и Customers
соответственно.
Я не знаком с Entity Framework, MVC, но это дизайн базы данных, за которым вы можете следовать.
EDIT:
я, возможно, не поняли третье отношения. Есть несколько исправлений, которые могут работать в зависимости от того, как вы хотите получить доступ к данным. Одним из возможных изменений является изменение таблицы RelatedPackagesCustomers
на таблицу RelatedOrderPackages
и соответственно внешних ключей. Таким образом, у вас будут два отношения, заказные пакеты и заказные продукты, которые сохранят ваш заказ с комбинацией пакетов и продуктов.
Для того чтобы сэкономить, вы должны сделать заказ и использовать команду OrderId
, чтобы добавлять товарные и упаковочные отношения в свои соотв. таблицы отношений.
Когда вам нужно, чтобы получить список всех пакетов и продуктов, которые клиент заказал до даты, вы будете делать запрос о Order
с CustomerId
и над ним сделать два JOIN
запросов, которые будут получать вам пакеты из RelatedOrderPackages
и продукты от RelatedOrderProducts
, связанные с конкретным OrderId
(косвенно связанные с клиентом).
Это зависит от отношений, которые вы хотите между ними. Как они связаны? – venerik
Какое круговое отношение? – user2864740
Кроме того, «asp.net [anything]» не является соответствующим тегом здесь; если необходимо добавить в «сущность-каркас» или конкретный инструмент моделирования/сопоставления, используемый, если применимо. – user2864740