[英]Designing DATA Access Layer in ASP.NET 3.5 app
我需要確定要在公司的Intranet上運行的中型Web應用程序的數據訪問層。 我以前使用CodeSmith並發現它很有用,但是如果基礎數據庫架構發生更改,它會消耗大量的開發時間,因此想消除它並嘗試一些新的DAL,這將有助於快速的應用程序開發。
請分享您對LINQ技術以及ADO.Net實體框架的看法。 我從未使用過這些技術,也不知道它們是否可以成功用於以企業數據庫為中心的應用程序。
請提出其他值得探索的技術。
斯威塔
我認為您應該使用Linq(而不是LinqToSql),因為Linq很爛。
我認為您應該使用ORM,部分原因是您需要類似的功能才能使用Linq,部分原因是在沒有ORM的情況下創建數據層並不是花費時間和預算的好方法。
總體而言,實體框架尚未獲得良好的評價,但是很多人使用它。 在Visual Studio 2010 / .NET 4.0中,它發生了重大變化。
NHibernate是大多數人用於.NET ORM的工具。 有很多選擇。
我認為這是有關使用存儲過程的一個很好的觀點:
如果您確實決定使用ORM,則可能需要查看這個問題以及類似的其他問題:
這兩個框架都很有用,如果您的數據庫基本上是靜態的,那么它們會更好地工作。
我的經驗是只編寫SQL,但這是因為我一直在研究數據庫驅動的應用程序,因此數據庫發生了很多變化。
對於任何ORM,您都將使用工具在源代碼中捕獲模式,然后與這些類進行交互,然后它們將進入數據庫。
您可能希望了解有關嘗試編寫視圖或存儲過程以抽象出實際數據庫表的信息,以便可以使用更多靜態內容。
我確實喜歡DLINQ,因為我發現自己做一些功能(例如分頁)比在應用程序中更容易。
我對ADO.NET的工作還不多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.