Oracle DBでEF Coreを使う(既存テーブルをスキャフォルディングする)
今回は、.NET6のコンソールアプリケーションでサンプルアプリケーションを作成していきます。
まずは、普通にVS2022で.NET6のコンソールアプリのテンプレートでプロジェクトを作成します。
次に、NugetでOracle.EntityFrameworkCoreとMicrosoft.EntityFrameworkCore.Designパッケージをインストールします。
次に、パッケージマネージャコンソールで既存テーブルのスキャフォールディングを行います。
Scaffold-DbContext "データベースへの接続文字列" Oracle.EntityFrameworkCore
データベースへの接続文字列は従来Oracleへの接続文字列として使用していた形式が記述可能です。
オプションなどについては下記を参照してください。
2度目以降のスキャフォールディングは既存のファイルを上書きする必要があるので-Forceオプションをつけるとよいでしょう。
あとは、できたモデルをインスタンス化してあげればDBアクセスができます。
以下実行結果
考慮事項
生成されたデフォルトでは「ModelContext.cs」に接続文字列が直書きされているのでこれを適切な取り扱いをする