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

  • ContextInitializedDebugとして記録されるようになりました

  • 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継承マッピング

  • プロキシの性能向上