2010-09-13 57 views
2

我正在研究使用ASP.NET 4.0創建新網站。我目前正在開始建立一個需要存儲報告信息的網站。什麼是用於我的asp.net網站的最佳數據庫體系結構?

我的數據庫有大約25-30張表(有很多關係),我的web應用程序需要存儲和讀取信息。通常,我使用的架構是分層架構,我擁有業務邏輯,業務對象和數據訪問層。但我正在考慮繼續使用.NET 4.0功能。

所以我想使用實體框架主要是因爲我非常喜歡在更大程度上使用LINQ的想法。

如果有人能告訴我,如果這對我的規模項目來說是個好主意,我將不勝感激。我在EF上看到了一些好的和不好的觀點,我似乎無法做出決定(也許是由於我缺乏開發經驗)。

我只需要確保該解決方案在將來添加額外表格時可以維護。

感謝您的幫助!

+2

我認爲你需要改變你的問題的標題'什麼是最好的數據庫架構用於我的asp.net網站'是非常主觀的,有點誤導給你的實際問題。 – keithwarren7 2010-09-13 19:49:28

+0

@ keitherwarren7是正確的,你真正要問的是一個ORM(或者至少這是我對你所問的)。 – CodingGorilla 2010-09-13 20:07:30

回答

0

我認爲EF很棒,我會推薦在大型和小型項目上使用它。像任何事情都有它的怪癖和你可能不喜歡的東西,但總而言之,它使你的數據訪問變得更加簡單。

EF中的設計師非常簡單地爲您的模型添加新的表格/實體(您所要做的就是執行數據庫刷新)。

+0

但我認爲試圖在一個實體中添加大約30個表將會有點不可維護,因爲我的所有表都與某個表有某種關係。我將如何去劃分我的EF? – R100 2010-09-14 08:03:17

+0

@ R100:不知道我理解你的問題。您可以拖動EF設計器上的實體(從VS中的服務器資源管理器),它可以理解這些關係和FK,並將它們映射到您的所有設備上。當你說「...在一個實體中」,並且實體是一個表格的表示(實體的一個實例是所述表格中的一行),所以你不能在一個實體中表示30個表格。這是一個模型,30個實體。 – CodingGorilla 2010-09-14 12:40:48

+0

感謝您的回覆。我只是認爲將30個表添加到一個edmx文件中可能無法維護,特別是如果我的數據庫將來會變大。你有什麼建議嗎? – R100 2010-09-14 13:32:09

2

我不得不說,Professional ASP.NET MVC中描述的方法從來沒有讓我失望,我已經使用過兩次非常成功的系統。如果您希望使用WebForms,則可以使用類似的方法來訪問數據訪問類型代碼。

基本上,他們使用MVC作爲前端,並且使用簡單的存儲庫模式作爲後端,它對我來說工作得非常好。

+1

哪個ASP.NET MVC書? – 2010-09-13 19:40:33

+0

更新了鏈接和更多信息。 – Nate 2010-09-13 19:40:55

0

實體框架4已經走過了很長的路。他們現在支持POCO模型,它減輕了與實體框架1相關的很多痛苦。Julie Lehrman's 2nd edition book很好地涵蓋了這些問題。

也就是說,NHibernate 3與他們的LINQ提供商也是一個很好的解決方案。他們的SysCache實現與它一起,對於幫助性能非常強大。英孚與二級緩存的故事並不一樣。 AppFabric是不同的,更加努力的設置。

ORM功能強大。你會發現一些人告訴你要遠離,但編寫一個數據層非常耗時,它可以爲參數化所有查詢,緩存對象,鼓勵事務處理和簡化驗證。我個人更喜歡NHibernate,但都是很棒的工具。

+0

從來沒有聽說過NHibernate。看起來很有趣。我會看看。 – R100 2010-09-14 08:19:27

相關問題