使用OR映射器有意義嗎?使用OR-Mapper有意義嗎?
我在堆棧溢出的推杆有這個問題,因爲這是最好的地方,我知道,找到聰明的開發商願意給他們的協助和意見。
我的推理如下:
1.)SQL屬於哪裏?
a)在我所從事的每一個專業項目中,數據的安全性都是關鍵要求。存儲過程爲控制訪問和審計提供了一個自然的途徑。
灣),在生產應用中的問題往往可以在表和存儲過程之間沒有撲滅新版本得到解決。
2.)如何控制生成的SQL?我相信分析樹來生成高效的SQL。 我在SQL-Server和Oracle中優化SQL的經驗相當豐富,但如果我再也不用這樣做,就不會感到受騙。 :)
3)是什麼,如果我從存儲過程中讓我的數據使用OR映射器的意義呢?
我已經使用存儲庫模式與本土通用數據訪問層。 如果一個集合需要緩存,我將其緩存。我也有在一個小的CRUD應用程序上使用EF的經驗,並有經驗幫助調整出現性能問題的NHibernate應用程序。所以我有點偏見,但願意學習。
在過去的幾年裏,我們都已經聽到了很多尊敬的開發商提倡使用特定的OR映射器(實體框架,NHibernate的,等等)的。
有誰能告訴我爲什麼有人應該轉向ORM進行主流項目的主流開發嗎?
編輯:http://www.codinghorror.com/blog/2006/06/object-relational-mapping-is-the-vietnam-of-computer-science.html似乎對這個話題的討論強,但它是過時的。
另一個編輯: 由於各自的性能優勢以及能夠將編程邏輯添加到數據更近的能力,每個人似乎都同意Stored Procedures將用於重型企業應用程序。
我看到支持OR映射器的最強論據是開發人員的生產力。
我懷疑ORM運動的一個大動力是開發人員偏好保持持久性不可知(不關心數據是否在內存中[除非緩存]或數據庫)。
對於本地和小型Web應用程序,ORM似乎是非常出色的時間保護程序。
也許我看到的最好的建議是從client09:使用ORM的設置,但使用存儲過程對數據庫密集型的東西(AKA當ORM似乎是不夠的)。
CSLA不是一個OR映射器。這是一個普遍的誤解。 – 2011-03-17 18:49:30
也許這對你來說是最新的。 http://stackoverflow.com/questions/404083/is-orm-still-the-vietnam-of-computer-science – dkretz 2011-03-21 23:37:53