Oracle Entity Framework Core 7の機能
Oracle Entity Framework Core 7では、.NET 6および7ランタイムがサポートされています。Oracle Database 12.2以降への接続をサポートします。
Oracleでは、このページで説明されているEF Core 7機能をサポートしています。このページでは、標準のEF Core 7機能とOracleのサポートとの違いについて説明します。これらの各機能の標準機能の詳細は、「EF Core 7.0の新機能」Webページを参照してください。
ストアド・プロシージャ・マッピング
Oracle PL/SQLストアド・プロシージャを使用したエンティティの挿入、更新および削除操作の実行がサポートされています。表5-2に、サポートされているパラメータのデータ型を示します。Oracle PL/SQLパッケージおよびファンクションは現在サポートされていません。
ノート:
HasRowsAffectedReturnValue()
APIはサポートされていません。
問合せの強化
Oracle EF Coreは、次のLINQ問合せの翻訳を改善しています。
-
final演算子としての
GroupBy
-
final演算子としての
GroupJoin
-
GroupBy
エンティティ型 -
副問合せは、グループ化されていない列を外部問合せから参照しません
-
読取り専用コレクションを
Contains
に使用できます -
文字列集計関数(
string.Join
およびstring.Concat
)の翻訳 -
string.IndexOf
の翻訳 -
エンティティ型の
GetType
の翻訳 -
非表示ナビゲーションへのフィルタ済インクルード
モデル構築規則
Oracle EF Coreでは、モデル構築規則を削除または置換し、新しい規則を追加できるモデル構築がサポートされるようになりました。
モデル構築の強化
モデル構築における新しい拡張機能が、次の機能および制限事項でサポートされています。
-
コンポジット・キーのマッピング属性
-
DeleteBehavior
マッピング属性 -
異なる列名にマップされたプロパティ
-
一方向の多対多関係
-
エンティティ分割
-
降順索引は、最初にコードに対してのみサポートされ、スキャフォールディングに対してはサポートされません。
-
ITableIndex.IsDescending
プロパティは、索引が降順かどうかを示すブールを返すもので、サポートされていません。
カスタム・リバース・エンジニアリング・テンプレート
Oracle EF Core 7プロバイダは、生成されたEFモデルのスキャフォールディング・カスタマイズをサポートしています。
新規および改善されたインターセプタとイベント
EFコア操作のインターセプト、変更、および抑制を可能にするインターセプタの機能強化がサポートされています。これらの新しい改善には、次のものに対するインターセプトが含まれます。
-
新規エンティティ・インスタンスの作成および移入
-
問合せコンパイル前のLINQ式ツリーの変更
-
楽観的な同時実行性の処理
-
接続文字列を確認する前の接続が移入されます
-
結果セットが消費された後、結果セットがクローズされる前
-
DbConnection
の作成 -
初期化後の
DbCommand
新しいイベントは次のとおりです。
-
エンティティが追跡される直前、または状態が変化する直前
-
エンティティおよびプロパティに対する変更が検出される前および後
DbContext APIおよび動作の拡張機能
DbContext
および関連クラスの改善がサポートされています。
-
初期化されていない
DbSet
プロパティのサプレッサ -
ログの失敗と取消の区別
-
EntityEntry
メソッドの新しいIProperty
およびINavigation
オーバーロード -
共有タイプのエンティティ型の場合は
EntityEntry
-
ContextInitialized
がDebug
として記録されるようになりました -
IEntityEntryGraphIterator
は一般に使用可能です
値の生成の改善
キー・プロパティの値の自動生成の改善がサポートされています。
-
ドメイン駆動の設計で保護されるタイプの値の生成
-
シーケンスベースのキー生成
シーケンスベースのキー生成の場合、Oracle EF Core 7プロバイダは、データベース・シーケンスを使用して生成されるキー・プロパティのデフォルト値を構成できる新しいFluent APIであるUseSequence()
を導入しています。
移行ツールの改善
EFコア移行コマンドライン・ツールの使用時の改善がサポートされています。
これには、nullの接続文字列を受け入れるようになったUseOracle()
メソッドが含まれ、例外が発生せずに後で接続文字列を割り当てることができます。また、移行ツールの実行時に検出できることも含まれます。
最高級のWindows Formsデータ・バインディング
Windows Formsで導入されEF Coreと適切に統合された新しいデータ・バインディング・エクスペリエンスが、Oracle EF Core 7プロバイダでサポートされています。
サポートされていない機能
次の機能は、Oracle EF Core 7プロバイダではサポートされていません。
-
JSON列とのマッピング
-
一括更新
-
SaveChangesの高速化
-
TPC継承マッピング
-
プロキシの性能向上