2012-05-06 62 views
2

我是一個初學者,試圖從頭開始教自己的網站開發,這樣我就可以構建我在腦海中看到的嚴肅的社交網絡初創企業。我選擇在C#中使用mongodb與asp.net MVC3一起工作。現在,我學習了很多有關MVC和Mongodb的信息,但我仍然不清楚它們應該如何在semipro環境中進行交互。很明顯,關於MVC如何與sql協同工作有很多東西,但是我不能在asp MVC中找到很多關於mongodb的東西。我知道最新的官方C#驅動程序支持LINQ,並且我閱讀了有關存儲庫模式/實體框架/ NoRM/NHibernate的所有這些內容,並且我看到諸如http://mongorepository.codeplex.com/之類的內容。如何正確橋接asp mvc 3和mongodb數據庫?

我需要學習如何在半專業企業中一起使用aspmvc和mongo?所有這些信息超載只是讓我的頭腦旋轉。如果有的話,我似乎無法找到明確的答案。我喜歡以正確的方式做事,就像初學者一樣,並且我可以在這方面使用一些指導,因爲我希望這至少是一半的職業。這些可能是你們學齡前的問題,但是我只是使用LINQ將內容(配置文件/博客文章)導入和導出mongo數據庫?我是否使用LINQ和存儲庫模式?實體是否適合在任何地方?還有什麼我應該完全使用?我想我在問什麼方法/模式/框架應該用來將這些域模型對象保存到我的MongoDB中? (我希望我用了一些術語,哈哈,它很晚!)我渴望學習,但我只需要知道該學什麼。任何意見或技巧你才華的人可以提供將非常感激!在此先感謝您閱讀我的漫談。

+0

這些都是偉大的問題衛斯理。我認爲大多數人的正確答案是「取決於」。你選擇MongoDB的基礎是什麼?你的數據是非關係的還是將會非規範化?如果是這樣,那麼這非常合適。你還選擇了MVC,但是出於什麼原因?大部分問題的答案都將歸結爲您的業務需求,而您未提供這些問題。 –

+0

感謝您的回覆克雷格。我買了幾本mongo書,我喜歡它看起來有多快,簡單,無模式,以及令人驚歎的可擴展性。此外,內置的地理空間功能。我選擇MVC是因爲從我一直在閱讀的文章中,人們會說MVC是你應該去建立一個嚴肅的Web應用程序的方式。業務需求 - 我需要存儲和檢索用戶個人資料信息,博客文章,評論,分類,搜索標籤,用戶認證/角色,搜索人員/帖子。基本上很多標準業務需要大多數社交網站,例如twitter或craigslist。希望回答你的Q。謝謝! –

+0

好的。感謝您的答案。現在,我想我的問題是,你有什麼具體問題?有很多方法可以使用MVC和MongoDB來構建網站,而你的問題就是一般性的。你是否應該使用存儲庫模式 - 可能沒有問題,但這並不意味着你應該使用它,也並不意味着你不應該使用它。 –

回答

0

RE:Comment#4 ...

這是一個很好的問題。不,這不是一個錯誤的假設,但它是一個高度爭論的問題,而且答案又是如此。 http://www.nogginbox.co.uk/blog/do-we-need-the-repository-pattern是一個很好的討論這個問題。雖然它沒有專門討論mongodb,但它專門針對您的抽象問題。

關於MongoDB具體來說,數據的輸入輸出非常簡單。您可以在這裏閱讀快速入門:http://www.mongodb.org/display/DOCS/CSharp+Driver+Quickstart。至於你是否創建中間層取決於你。這取決於你的應用程序的複雜程度,它會有多大,如果你認爲你可能在某個時候改變了數據層等等......