См. Примеры объектов:
Customer
* Id
* Name
Product
* Id
* Name
* Price
PurchaseOrder
* Id
* CustomerId
* Customer
PurchaseOrderItem
* Id
* PurchaseOrderId
* PurchaseOrder
* ProductId
* Product
* Quantity
* Price
Как видите, PurchaseOrder
ссылается на Customer
, а PurchaseOrderItem
ссылается на PurchaseOrder
и Product
.
Мой вопрос: должны ли ссылочные объекты, такие как Customer
, Product
и PurchaseOrder
, иметь свойства навигации?См. Измененные объекты:
Customer
* Id
* Name
* PurchaseOrders (list) <----- added
Product
* Id
* Name
* Price
* PurchaseOrderItems (list) <----- added
PurchaseOrder
* Id
* CustomerId
* Customer
* PurchaseOrderItems (list) <----- added
В случае PurchaseOrder
я убежден, что свойство навигации PurchaseOrderItems
должно быть включено, потому что я считаю их "частями" PurchaseOrder
, ноЕсть ли рекомендации о том, когда включать свойства навигации?Product
с PurchaseOrderItems
свойствами в данный момент не имеет смысла.
Мой второй вопрос: если я не включу свойства навигации, с какими последствиями я могу столкнуться,конкретно в EF Core?Одна вещь, о которой я мог подумать, - это ручное присоединение к списку объектов, таких как Product
и PurchaseOrerItem
, что, на мой взгляд, немного утомительно.
Третий , неправильно ли включать навигациюсвойства каждый раз, даже если они выглядят бессмысленными?
Если вы решите закрыть этот вопрос из-за неясных вопросов или по любой другой причине, пожалуйста, по крайней мере, сначала направьте меня в правильном направлении.