データベースがSQLServer上に作成され、テーブルと列の名前が開発チームによって定義されたソフトウェア製品をデータベースの最初のアプローチを使用してVisual Studioにインポートしました。既存のコードを変更せずにコードファーストアプローチを使用するために、ORACLEを使用してテーブルと列の命名規則を要求する会社では、すべてのクラスプロパティの[Column]属性を使用して正しい命名規則でDbContextを作成しました私は別のDbContextを注入できるようにインターフェイスを作成しようとしていますが、将来はもっと柔軟なソリューションがあります。DbContextインターフェイスまたは抽象クラスを作成し、それを使って異なるDbContextオブジェクトを注入することは可能ですか?
私は.NETに慣れていますが、私のアプローチはDbContextの抽象クラスを作成し、テーブルを表すすべてのクラスのインタフェースを作成することです。これらのクラスの実装ではテーブルとカラムを変更できます必要に応じて名前を付けます。私の質問は、可能ですか?良いアプローチですか?
これが可能かどうかわかりませんが、コンパイル時の定数として基になるテーブルと列の名前を定義するリソースファイルを使用すると、より簡単に問題を解決できます。さまざまなバックエンドのコンパイル時にリソースファイルを切り替えるだけです。 – esmoore68
私が持っているもう一つの問題は、Guidの使用です。SQL Serverではマッピングが直接ですが、Oracleでは文字列を使用してコードを修正しています。これはやりたいことです。 –
EF7をご覧ください。いくつかのプロバイダがあり、別のプロバイダを作成することができます。https://blogs.msdn.microsoft.com/dotnet/2015/11/18/entity-framework-7-rc1-available/ –