2014-03-19 60 views
1

我試圖實現像SELECT * FROM TABLE_X WHERE XID = @id這樣的簡單查詢,但是我遇到的問題是這些查詢會針對不同的應用程序實例在不同的數據庫(SQL Server和Oracle)上運行。如何在多數據庫環境中使用Dapper?

如何做到這一點,而不必爲每個數據庫寫一組新的查詢?

回答

1

Dapper確實對數據庫非常關閉,並允許您利用特定於特定數據庫的純SQL技巧。在我看來,你應該使用查詢對象模式,所以你將在每個提取/提交前面有一個接口,可能會改變SQL/Oracle。

0

我已經下載了SqlMapper.cs的代碼並且攻擊了SetupCommand來檢查命令是來自Oracle還是SQL Server。

這就是我所做的:

if (cnn.GetType().Name.ToLowerInvariant().Contains("oracle")) { sql = sql.Replace('@', ':'); }

相關問題