IBeamMDAA 沒有限制必須使用什么樣的數據庫訪問技術, IBeamMDAA 即沒有自己創造數據訪問層組件,也沒有使用 .net 最新數據訪問層技術(比如: Linq 或 EntityFreamwork ),而是保守地使用了經過大量實踐檢驗的 NHibernate ,但我們推薦使用 CastleActiveRecord , CastleActiveRecord 的基礎組件使用 NHibernate ,因此, IBeamMDAA 目前支持比較完善的是 CastleActiveRecord ,在性能與可移植性取得平衡,關于 NHibernate 的性能探討請在網絡上搜索這方面的研究。
NHibernate 本身是支持多數據庫平臺的,因此可以實現跨數據庫平臺,目前 NHibernate 支持的數據庫系統有: DB2 、PostgreSQL 、 MySQL 、Oracle、Sybase 、 SQL Server 7 以上、 Firebird 、SQLite等。
?????? 當然, NHibernate 也支持原生查詢,發果在代碼中書寫了特定數據庫的查詢語句,可能對數據庫移植造成困難,對于這方面并沒有花時間研究過,因此,推薦使用 HQL 查詢數據。
?????? 為了實現數據庫跨平臺也是有缺點的,因為不能使用數據庫專有特性,不能使用存儲過程,在性能上有很大損失,沒有充分利用數據庫系統的能力,事務都有正反兩個方面,關鍵是您看重哪個方面。目前的做法是利用數據緩存彌補因為追求跨平臺的性能損失,另外,數據訪問層與數據庫盡量部署在一起或減少物理跨越來降低對性能的影響。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
