2010-11-09 21 views
1

我正在構建一個非常舊的數據庫的網站。由於數據庫是不同標準的混合體,因此我決定使用ORM不是正確的技術,而是使用存儲過程和視圖與其交互。用於處理遺留數據庫的最佳.NET數據層框架

什麼是好的.NET數據層框架與舊的遺留數據庫一起工作?我感興趣的功能是簡潔的代碼來調用數據庫存儲特效,並自動從結果映射到強類型對象。

一個框架,它是重量輕和簡單的將是一個加爲好。我會避免使用nHibernate的複雜性。

回答

0

那麼簡單ADO.NET?它應該支持大多數數據庫。對於較老的數據庫,通常會有一個ODBC驅動程序,允許您連接到數據庫。你需要支持哪些?

+0

我認爲他要求的是比提供者更高級的方法。 – 2010-11-09 22:34:46

1

我覺得跟不同的數據庫的最好的辦法是設法鞏固他們在一個新的標準。使用ORM可能是可行的,我特別喜歡DevExpress' XPO,因爲你實際上「編碼」它幾乎是「透明」的...而且它適用於很多數據庫:

Access 2000,2007(Microsoft Jet ),Advantage Database Server v9.1 +,DB2,Firebird 1.5+, MySQL Server 4.1+,Oracle 9i,10g,11g,Pervasive.SQL 9+,PostgreSQL 7+,SQL Anywhere 11+,Sybase Adaptive Server 12+, SQLite 3,VistaDB 4和所有SQL Server版本...

您可以嘗試使用實體框架的ADO.NET並使用POCO對象方法,以便您可以更好地控制數據層。

同樣,我一定會嘗試找到一種方法來將所有數據整合到一個現代數據庫中,如果您必須讓舊應用程序運行在舊數據庫上,試着想出一個導出過程以將其數據複製到一個「可查詢」的現代數據庫後端...這樣你就可以防止遺留應用程序在性能上受到影響,試圖通過相同的遺留數據庫與網站競爭(併發性在許多遺留數據庫中並沒有很好地處理。 ..),而事實上,有時有一個「報告」的數據庫(web站點幾乎總是像在報表上)從「主」工作數據庫分開的最佳設計。

PS:抱歉建議解決方案完全不知道您的實際問題域...

1

您可以嘗試Microsoft Enterprise Library數據應用程序塊。它在封面上使用了ADO.Net,但將其封裝在一個更易於使用的軟件包中。它比NHibernate更輕巧。

+0

MS應用程序塊不是我將要編寫的代碼的基礎... MS本身內部有一條清晰的路徑...就像WPF一樣,它可能很快就會變成一個屍體...... – Loudenvier 2010-11-10 00:35:24

相關問題