Oracle Entity Framework Core 10 Features

Oracle supports the EF Core 10 features described below. This page notes the differences from standard EF Core 10 functionality and Oracle's support.

More details about each of these features standard functionality are described on the What's New in EF Core 10 web page.

Spatial Data – In Preview

The Oracle database can store spatial data that represents physical locations and object shapes. ODP.NET can operate on Oracle spatial data natively.

The NetTopologySuite spatial library maps database spatial data types in EF Core. Starting with Oracle EF Core 10, Oracle database spatial types can be accessed and mapped using new Oracle EF Core NetTopologySuite support.

This feature is currently in preview and available with the Oracle.EntityFrameworkCore.NetTopologySuite package on NuGet Gallery.

LeftJoin and RightJoin Operators

Oracle EF Core 10 provides full support for the new .NET 10 LINQ operators LeftJoin and RightJoin, making complex JOIN statements easier to write.
  • LeftJoin: Simplifies writing LEFT JOIN queries.
  • RightJoin: Simplifies RIGHT JOIN queries which retain all data from the second collection and only matched data from the first.

ExecuteUpdate for Relational JSON Columns

Previously, the ExecuteUpdate method did not permit updates of JSON columns. Oracle EF Core 10 supports referencing JSON columns and properties within ExecuteUpdate method. It enables efficient document-modeled data bulk updating in the Oracle Database.

ExecuteUpdateAsync Accepts Regular Non-Expression Lambda

The ExecuteUpdateAsync method can execute arbitrary database update operations. Previously, an expression tree parameter provided the database row changes, making it difficult for developers to build in dynamic changes. Manually creating expression trees is challenging and error-prone.

Oracle EF Core 10 applications can pass a lambda expression to the ExecuteUpdateAsync method, which then can update the records conditionally.

Redacting Inlined Constants

Earlier Oracle EF Core versions log inline SQL statement parameter values, even if sensitive data logging is disabled. To enhance security, Oracle EF Core 10 redacts inlined SQL statement parameter values by default. This prevents accidental logging of sensitive information.

Optimized Count Operation on ICollection<T>

The Count method is optimized in Oracle EF Core 10 to use the EXISTS SQL keyword instead of COUNT when evaluating .NET collections.

Parameter Name Simplification

Query parameter names are now simpler, removing the underscore prefix (for example, :p_city instead of :_city_0 ). Name uniqueness is still enforced, and reserved Oracle keywords will not be simplified to avoid conflicts.