我正處於規劃將大型經典ASP數據庫應用程序轉換爲ASP.Net的早期階段,並且無法找出使用哪種數據訪問方法。我玩過Linq To SQL,動態數據,強類型數據集,企業庫(數據訪問應用程序塊),以及一點Entity Framework,但他們都沒有跳出來作爲「一個」。有太多的選擇 - 我的頭在游泳,幫我選擇!需要關於選擇數據訪問方法的建議
也許這將有助於使上,我與優先轉換沿應用程序的一些背景...
後端爲Microsoft SQL Server(2005或更高版本)和我們承諾那樣,所以我不必擔心曾經支持過不同的數據庫平臺。
數據庫非常成熟,包含了大量的業務邏輯。它高度規範化並廣泛使用存儲過程,觸發器和視圖。我寧願不在同一時間重新創建兩個輪子,所以我想盡可能少地更改數據庫。所以,我需要選擇一種足夠靈活的數據訪問方法,以便我能夠解決數據庫中的任何怪癖。
該應用程序有許多數據輸入表單和廣泛的搜索和報告功能(報告是我將在以後解決的另一個野獸)。
該應用程序需要足夠靈活以處理對數據庫結構的微小更改。應用程序(和數據庫)可能安裝在對數據庫進行較小自定義修改的不同站點上。理想情況下,應用程序可以識別數據庫擴展並做出適當的反應換句話說,如果我需要在應用程序中存儲O/R映射,那麼在新站點上安裝應用程序和數據庫時,我需要能夠將其交換(或輕鬆刷新)。
快速應用程序開發至關重要。由於數據庫已經完成並且用戶界面將與現有的應用程序緊密匹配,我希望能找到一些可以快速解決這個問題的方法。如果能夠節省開發時間,我願意犧牲不使用絕對最新最好的技術。換句話說,如果使用像Entity Framework這樣的東西有一個陡峭的學習曲線,那麼我會很好地處理像強類型數據集和自定義DAL,如果它會加快這個過程。
我是ASP.Net的總新手,但我非常熟悉經典ASP,T-SQL和舊的ADO(例如斷開的記錄集)。如果任何數據訪問方法更適合來自我的背景的人,我可能會傾向於這個方向。
感謝您提供任何建議!
有很多方法可以做同樣的事情,我想看看哪種工具對其他產品有好處(即何時使用哪一種)?以及對某些參數的工具評估(例如學習曲線,維護,簡單性,社區支持等) – shahkalpesh 2009-04-23 16:40:54
我聽說nHibernate功能非常強大,但我也讀了一下,學習曲線非常陡,以便使用它正確的方法。不幸的是,我們沒有那種時間。 – CowherPower 2009-04-23 18:09:46
你有多少時間?我花了幾天的時間才弄清楚如何映射我的第一個對象圖3。我是1的開發人員,聽起來像你有一個團隊。 – JoshBerke 2009-04-23 21:58:21