2012-09-04 61 views
0

我們正在開始使用MVC3和mongoDB進行數據庫存儲的新項目。任何人都可以指出我們更好的項目架構。MVC3 MongoDB項目體系結構

,我們有以下疑問:

  1. 我們能否Project.Data(用於數據訪問的MongoDB),Project.WEB.UI(MVC),Project.Core(業務邏輯) - 在Visual 3個項目演播室解決方案文件
  2. 哪裏有模型類?在Project.Core中?如何分享這些項目之間的模型?
  3. 如果任何人有這樣的架構,並有一些樣本類和接口(在VS項目文件中),請分享我的
  4. 我們還需要有數據模型以及與mongodb進行交互?在哪裏放置這些模型?我們可以在所有項目中共享這些模型嗎?任何工作代碼是高度讚賞。

注意:我已經看到其他幾個SO問題了,這些問題都沒有直接回答我的問題。

在此先感謝。

回答

1

在我工作過的一個項目上,我們最終結合了作爲核心和數據的內容。最初,我們在服務和具有Mongo查詢的DAL中完全分離了關注業務邏輯的問題。因爲當你使用MongoDB時,與使用RDBMS的工作截然不同,我們發現我們的大部分業務邏輯都是以一種使Mongo具體的方式編寫的,所以我們組合了這些層,因爲看起來我們有一個冗餘層,如果我們決定回到RDBMS,我們可能會重寫一些邏輯。

至於你的問題,你的域對象是你的Mongo實體,所以我會把它們放在你的數據層。然後,我會在您的WEB項目中使用您的MVC模型,並使用Automapper在它們之間進行映射。