私はデータアクセスレイヤーを構築しており、異なる環境の2つのプロバイダーを切り替える必要があります。SQL ServerとMySqlのデータアクセスレイヤーを作成する方法
これはどのように構成しますか?私はリポジトリパターンを使用しています。 CarRepository
クラスとCar
クラスです。 CarRepository
クラスは、データベースの保存、削除、および読み込みを担当します。
私はDatabase
クラスを持っており、データベースに接続し、クエリを実行します(SQL Server用にSqlCommand
を送信します)。基になるデータベースのSQL構文は異なり、パラメータ構文も異なります(SQL Serverは@
を使用し、MySqlは?
を使用します)。
私は、両方のプラットフォームでアプリケーションを動作させるための努力を最小限に抑えることができます。
具体的な方法は、MySqlCarRepository
とSqlServerCarRepository
ですが、メンテナンスが多くなります。このシナリオに対する良いアプローチはありますか?多分、さまざまなSQLの味のためのSQL文を含む静的な文字列を持つ静的クラスを保持していますか? (どのようにパラメータの構文について、その後?)
何かアドバイスは
あなたは説明できますか? –