Oracle Entity Framework Core 7 Features

Oracle Entity Framework Core 7 supports .NET 6 and 7 runtimes. It supports connecting to Oracle Database 12.2 and higher.

Oracle supports the EF Core 7 features described on this page. This page notes the differences from standard EF Core 7 functionality and Oracle’s support. More details about each of these features standard functionality are described on the What's New in EF Core 7.0 web page.

Stored Procedure Mapping

Using Oracle PL/SQL stored procedures to perform entity insert, update, and delete operations are supported. Table 5-2 lists the supported parameter data types. Oracle PL/SQL packages and functions are not currently supported.

Note:

The HasRowsAffectedReturnValue() API is not supported.

Query Enhancements

Oracle EF Core improves the following LINQ query translations:

  • GroupBy as final operator

  • GroupJoin as final operator

  • GroupBy entity type

  • Subqueries don't reference ungrouped columns from outer query

  • Read-only collections can be used for Contains

  • Translations of string aggregate functions, string.Join and string.Concat

  • Translation of string.IndexOf

  • Translation of GetType for entity types

  • Filtered Include on hidden navigations

Model Building Conventions

Oracle EF Core now supports model building that allow applications to remove or replace any model building conventions and to add new conventions.

Model Building Enhancements

New enhancements in model building are supported with the following features and limitations:

  • Mapping attribute for composite keys

  • DeleteBehavior mapping attribute

  • Properties mapped to different column names

  • Unidirectional many-to-many relationships

  • Entity splitting

  • Descending Indexes are only supported for code first, and not for scaffolding.

  • ITableIndex.IsDescending property, which returns a Boolean indicating whether the index is descending or not, is not supported.

Custom Reverse Engineering Templates

Oracle EF Core 7 provider supports scaffolding customization of a generated EF model.

New and Improved Interceptors and Events

Enhancements to interceptors which enable interception, modification, and/or suppression of EF Core operations are supported. These new improvements include interception for:

  • New entity instance creation and population

  • LINQ expression tree modification before query compilation

  • Handling optimistic concurrency

  • Connections before checking the connection string is populated

  • After the result set has been consumed, but before the result set is closed

  • DbConnection creation

  • DbCommand after initialization

The new events include:

  • Right before an entity is tracked or changes state

  • Before and after changes are detected to entities and properties

DbContext API and Behavior Enhancements

Improvements to DbContext and related classes are supported.

  • Suppressor for uninitialized DbSet properties

  • Distinguish cancellation from failure in logs

  • New IProperty and INavigation overloads for EntityEntry methods

  • EntityEntry for shared-type entity types

  • ContextInitialized is now logged as Debug

  • IEntityEntryGraphIterator is publicly usable

Improved Value Generation

Improvements to the automatic generation of values for key properties are supported.

  • Value generation for domain-driven design guarded types

  • Sequence-based key generation

For sequence-based key generation, Oracle EF Core 7 provider introduces a new fluent API, UseSequence(), which can configure the default values of a key property to be generated using a database sequence.

Migrations Tooling Improvements

Improvements when using the EF Core Migrations command-line tools are supported.

This includes the UseOracle() method which now accepts a null connection string so that the connection string can be assigned at a later time without encountering an exception. It also includes being able to detect when migration tools are running.

First-Class Windows Forms Data Binding

The new data binding experiences introduced in Windows Forms which integrates well with EF Core are supported by the Oracle EF Core 7 provider.

Not Supported Features

The following features are not supported by the Oracle EF Core 7 provider.

  • Mapping to and from JSON columns

  • Bulk updates

  • Faster SaveChanges

  • TPC inheritance mapping

  • Performance enhancements for proxies