[英]Navigation Properties of Entities in EF Core
查看示例實體:
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
屬性的Product
沒有任何意義。
我的第二個問題是,如果不包括導航屬性,那么我可能會面臨哪些影響,特別是在EF Core中? 我能想到的一件事是手動加入諸如Product
和PurchaseOrerItem
類的實體列表,我認為這有點乏味。
第三 ,即使每次導航屬性看起來都沒有意義,這是否錯誤?
如果您由於不清楚的問題或任何其他原因決定關閉此問題,請至少首先引導我朝正確的方向發展。
有關於何時包括導航屬性的指南嗎?
對於一對多關系
帶有外鍵的實體上始終具有單例導航屬性。
通常使用集合導航屬性。 它們很方便,但是您通常會最終使用它們。 引用類型的實體例外,可以由多個不相關的實體引用。 例如位置,組織,貨幣等。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.