2013-08-02 62 views
0

我們正在研究實現DD和一個ORM。我不確定哪個技術最適合DD NHibernate或實體框架。NHibernate與域驅動設計的實體框架

該項目將針對非常大的現有SQL服務器表運行,並且還將使用執行復雜進程的非常大的存儲過程。我已經看到了對這兩種支持的支持,但並不確定哪種最適合DD。

+3

_非常大的執行復雜進程的存儲過程。我希望這些_complex processes_不包含任何類型的業務代碼,否則您的DDD嘗試將會受到影響...... – MaxSC

+0

這些只是幾個將用作遺留項目一部分的過程。大部分業務代碼將不在存儲過程中。 – Funky

+1

這是你關於這個問題幾乎相同的問題。所有你的問題的awnser大多是基於opion的,都是成熟的ORMs,可能適合你的需求。 http://stackoverflow.com/questions/17998609/entity-framework-vs-nhibernate-performance http://stackoverflow.com/questions/17998325/entity-framework-vs-nhibernate-which-is-the-better-technology – Peter

回答

2

ORM風味與DDD無關。事實上,國際海事組織,你不會做任何DDD,因爲很明顯你的應用程序是以數據庫爲中心的。

DDD中的一個重要原則是db不存在(用於建模目的),但是90%的問題與db相關。不管你選擇什麼樣的ORM(你應該測試它們,看看你的風格是什麼),它不會影響域的建模,因爲ORM通過Repository模式與域脫耦。你也可以使用微型orm,事情根本不會改變。

0

如果你想遵循DDD的做法,你應該肯定使用NHibernate。實體框架不允許你創建一個乾淨的架構,你將不得不在你的域實體中做很多與數據庫相關的東西。

使用NHibernate,您可以創建持久性的無知域模型,與數據庫明顯分離。下面是實體框架缺陷的列表:Entity Framework vs NHibernate from the DDD perspective