2009-11-24 35 views
0

我正在創建一個快速和髒的原型(C#)的對象關係映射工具。我想支持至少兩種數據庫 - 一種是Microsoft SQL Server 2005/2008,另一種是MySQL。什麼使用靈活的數據訪問層 - OLEDB或...?

有什麼辦法可以爲兩個數據庫引擎使用單個數據庫訪問機制,它會是什麼?

當然,我知道SQL查詢語法會有差異,但在我的情況中並不重要 - 我將使用一種工具來生成適合特定數據庫引擎的SQL查詢,用戶將能夠優化這些SQL查詢。

主要想法是儘可能靈活的數據提供者解決方案。它可以做或不做,它怎麼做更容易? 請注意,我沒有將這個用於生產系統,只是爲了一個原型,但我仍然很好奇它是如何在生產OR/M工具中實現的 - 它們是否爲每個數據提供者使用完全獨立的訪問機制,共同?如果我打算將數據轉換爲業務對象,他們是否使用DataReader或者有更合適的方式來檢索數據?

感謝您的任何想法,鏈接等

回答

1

好的,我發現它: http://www.15seconds.com/issue/040127.htm

溶液是如msdn.microsoft.com/en-us/library/ms379620(VS.80描述使用IDbxxx或Dbxxx) .aspx

現在我只能指定一次使用什麼樣的DataProvider,然後在其他地方使用Db/IDb。

1

我建議NHibernate的 - 這你想要做什麼,我認爲。

nhibernate.info

+0

謝謝,我熟悉nHibernate,但這次我自己正在嘗試構建一個類似於nHibernate的原型。我可以查看一些nHibernate工具的源代碼,但是我認爲有經驗的人會給出一個簡單的回答,考慮到nHibernate是一個完整的生產工具,但我需要一個簡單原型的解決方案。 。 – JustAMartin