2011-01-20 25 views
0

我目前在一家小型ASP.NET/MS-SQL商店工作。我的團隊已經注意到我們的開發(和修復)時間的很大一部分花費在我們的ADO.NET數據庫訪問代碼上。我們正在尋找一種軟件解決方案,以簡化將DataTable/SQLDataReader結果映射到適當業務對象的過程。手動指定列名並投射結果已成爲一場噩夢(特別是涉及到模式更改時)。在ASP.NET中使用存儲過程的更好方法?

到目前爲止,實體框架(以及較小程度上的LINQ到SQL)是我們發現的唯一可以很好地自動化這個過程的軟件。我們只需將我們的存儲過程添加到模型中,並讓它們返回自動生成的複雜類型。從數據庫更新模型的能力也是一大優勢。

在我們開始將我們的許多項目中的任何項目遷移到實體框架之前,我想知道是否還有其他選項需要考慮。我的團隊在ORM庫或代碼生成器之間沒有強烈的偏好。

一些可能有助於標準:

  1. 所有數據訪問(包括CRUD)通過的SQL Server 2008R2存儲過程執行。 請不要回答「停止使用存儲過程」。在我們的情況下,一個ORM會產生令人難以置信的意義,但是我們的DBA的決定勝過了編程團隊。
  2. 軟件應該幫助解析SPROC參數名稱,並將結果轉換爲我們可以使用的強類型對象。
  3. 我們是一個非常小的預算學術機構。今年我們的預算已經非常多了(我們拿到了Resharper許可證 - 謝天謝地,價格降低了),所以商業解決方案的價格很高。
  4. 我們無法使用GPL庫。 LGPL/BSD或類似的東西都很好
  5. 我們希望讓我們的開發人員更容易。將C#中的列/類型信息移動到手動編寫的XML並不能讓他們的工作更容易。我們正在尋找儘可能自動化的東西。
+0

「在我們的情況下,一個ORM會產生令人難以置信的意義,但是我們的DBA的決定勝過了編程團隊的」 - 是商業決策還是DBA的說法? – 2011-01-20 03:51:59

+0

使用** Entity Framework 4 **(.NET 4) - 它支持非常好的存儲過程 - 適用於任何操作! (大多數其他ORM甚至不開始嘗試這樣做......) – 2011-01-20 05:42:42

回答

0

就個人而言,我被困在這個時候iBatis.NET粉絲情況。據我所知,它不再處於開發階段,但它的繼任者MyBatis也可能是一個不錯的選擇。

相關問題