Oracle Entity Framework Core 10の機能
Oracleでは、次に示すEF Core 10機能がサポートされています。このページでは、標準のEF Core 10機能とOracleのサポートとの違いについて説明します。
これらの各機能の標準機能の詳細は、「EF Core 10の新機能」Webページを参照してください。
空間データ – プレビュー中
Oracleデータベースに、物理的な場所とオブジェクトの形状を表す空間データを格納できます。ODP.NETにより、Oracle空間データをネイティブに操作できます。
NetTopologySuite空間ライブラリにより、EF Coreのデータベース空間データ型をマップします。Oracle EF Core 10以降、Oracleデータベースの空間型は、新しいOracle EF Core NetTopologySuiteサポートを使用してアクセスおよびマップできます。
この機能は、現在プレビュー中であり、NuGetギャラリにあるOracle.EntityFrameworkCore.NetTopologySuiteパッケージで入手できます。
LeftJoin演算子とRightJoin演算子
- LeftJoin: LEFT JOIN問合せの記述を簡略化します。
- RightJoin: 2番目のコレクションからのすべてのデータと1番目のコレクションからの一致データのみを保持するRIGHT JOIN問合せを簡略化します。
リレーショナルJSON列のExecuteUpdate
以前は、ExecuteUpdateメソッドではJSON列の更新は許可されていませんでした。Oracle EF Core 10では、ExecuteUpdateメソッド内でのJSON列およびプロパティの参照がサポートされています。これにより、Oracle Databaseでの、ドキュメント・モデル化されたデータの一括更新を効率的に実行できます。
ExecuteUpdateAsyncでの通常の非式ラムダの受入れ
ExecuteUpdateAsyncメソッドでは、任意のデータベース更新操作を実行できます。以前は、式ツリー・パラメータによってデータベース行の変更が実現されていたため、開発者が動的な変更を組み込むことは困難でした。式ツリーの手動作成は難しく、間違いの元です。
Oracle EF Core 10アプリケーションでは、ラムダ式をExecuteUpdateAsyncメソッドに渡すことができます。それにより、レコードを条件付きで更新できます。
インライン定数のリダクション
以前のOracle EF Coreバージョンでは、機密データ・ロギングが無効になっていても、インラインSQL文のパラメータ値がログに記録されていました。セキュリティを強化するために、Oracle EF Core 10では、デフォルトで、インラインSQL文のパラメータ値がリダクションされます。これにより、誤って機密情報がロギングされることがなくなります。
ICollection<T>でのカウント操作の最適化
Countメソッドは、Oracle EF Core 10で最適化されて、.NETコレクションの評価時にCOUNTではなくEXISTS SQLキーワードが使用されるようになりました。
パラメータ名の単純化
問合せのパラメータ名が単純になり、アンダースコア接頭辞が削除されるようになりました(たとえば、:_city_0ではなく:p_city)。名前の一意性は引き続き強制適用されます。また、競合を防ぐために、予約済のOracleキーワードは単純化されません。