我理解聚合根的概念,我知道一個聚合根必須通過標識引用另一個(http://dddcommunity.org/wp-content/uploads/files/pdf_articles/Vernon_2011_2.pdf),所以我不知道如何強制實體框架添加外鍵約束兩個總計之間?聚合根之間的外鍵
讓我們假設我有一個簡單的域名:
public class AggregateOne{
[Key]
public Guid AggregateOneID{ get; private set;}
public Guid AggregateTwoFK{get; private set;}
/*Other Properties and methods*/
}
public class AggregateTwo{
[Key]
public Guid AggregateTwoID{get; private set;}
/*Other Properties and methods*/
}
與此域的設計,實體框架不知道有AggregateOne和AggregateTwo之間的關係,因此沒有在生成的數據庫的外鍵。
我的問題是你是否真的需要關心你的ORM怎麼想?:) ---的關係很可能將無論如何都要由您的數據存儲強制執行。 –
由於我使用CodeFirst,數據庫將根據我的域類自動生成 –
啊,我明白了。那麼,*這可能是一個問題。無可否認,我避開了ORMs,所以我不是所有的入門和出版社,但我聽說過這個代碼的第一件事:) ---我想你將無法建立參照完整性從代碼優先,因爲你不會建立關係。在創建數據庫之後,您可能需要定義參照完整性;除非有人知道一些漂亮的EF技巧。 –