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
andstring.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
andINavigation
overloads forEntityEntry
methods -
EntityEntry
for shared-type entity types -
ContextInitialized
is now logged asDebug
-
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