簡體   English   中英

什么是訪問不同引擎但結構相似的不同數據庫的最佳方法

[英]What is best way access different database on different engine but with similar structure

我通常使用MySql,但也使用SQL Server,Oracle和Access,數據庫結構幾乎相同。 我的數據庫存儲SCADA應用程序的配置和記錄的數據(“監控和數據采集”)。 大多數表通常是相同的,但有時我的隊友會添加字段,表或更改某些字段類型。

我正在編寫一個需要從db加載一些配置參數,然后加載數據,對其進行處理並將新值存儲在db上的應用程序。 它還需要添加新記錄。

我有一個類,獨立於db類型,給定正確的連接參數,即可獲得IDbConnection對象。 使用某些方法,我可以指定一個SQL查詢,它給我和IDataReader或一個Dataset

現在,我應該如何從數據庫查詢數據,分析,重新計算並最終再次存儲它們? 由於可能會更改字段,我有點害怕構建詳細的對象映射。 一個簡單的數據集/數據表/數據行應該可以,但我想使用linq以更簡單的方式查詢從數據庫中提取的數據。

最后,我的數據庫有大約60個表,但是在此應用程序中,我僅使用其中的12個表。 我只有很少的時間來構建該應用程序,因此即使它不是“非常漂亮”,我也需要一種快速的方法。

謝謝。

您應該嘗試根據模式自動配置自身的ORM

我找到了這個。 我沒有在c#中使用類似的東西,但是在其他(動態)語言中效果很好。
http://www.codeproject.com/Articles/117666/Kerosene-ORM

使用ORM最有可能是最快的。 您可以使用具有多個數據庫支持的 NHibernate NHibernate確實具有學習曲線,因此像微型ORM之類的東西也許更容易使用。 Petapoco是一個出色的微型ORM,並支持SQL Server,SQL Server CE,MySQL,PostgreSQL和Oracle。

這些ORM將為您使用的每個數據庫創建一個映射文件,當在數據庫中進行更改時,該文件需要更新或重新創建。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM