0
如果您有一個引用客戶的訂單,那麼該模型是否包含客戶的ID或客戶對象的副本,如價值對象(思考DDD)?DDD和MVC模型包含單獨實體或實體本身的ID?
我想這樣做的部份:
public class Order {
public int ID {get;set;}
public Customer customer {get;set;}
...
}
現在我這樣做:
public class Order {
public int ID {get;set;}
public int customerID {get;set;}
...
}
這將是更方便地在完整的客戶對象,而不是ID向視圖模型傳遞給表單。否則,我需要弄清楚如何通過ID獲取供應商信息到訂單引用的視圖。
這也意味着存儲庫瞭解如何處理在調用保存時(如果我們選擇第一個選項)在訂單對象內發現的客戶對象。如果我們選擇第二個選項,我們需要知道視圖模型中的哪個位置。
他們肯定會選擇一個現有的客戶。但是,也可以確定他們可能想要在顯示屏上就地更改信息。有人可能會爭辯讓控制器提取客戶對象,將客戶更改單獨提交給存儲庫,然後將更改提交給訂單,並按照訂單保留customerID。