Deploy apps in production with Oracle Entity Framework Core 10
Oracle now supports Microsoft Entity Framework (EF) Core 10 with Oracle AI Database 19c or higher. You can download and deploy Oracle EF…
Deploy apps in production with Oracle Entity Framework Core 10

Oracle AI Database and EF Core 10
Oracle now supports Microsoft Entity Framework (EF) Core 10 with Oracle AI Database 19c or higher. You can download and deploy Oracle EF Core 10.23.26000 to production for free from NuGet Gallery.
Beyond compatibility, this release adds new EF Core 10-specific features that Oracle apps can use. Let’s take a look at each of them.
LeftJoin and RightJoin Operators
.NET 10 adds first-class LINQ support for the [LeftJoin and RightJoinmethods](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-10.0/whatsnew#support-for-the-net-10-leftjoin-and-rightjoin-operators). This makes LEFT JOIN and RIGHT JOIN queries easier to write, respectively.
The RIGHT JOIN operator keeps all second collection data and only the matching first collection data.
Oracle EF Core supports both the LeftJoin and RightJoin .NET methods. This example LINQ uses LeftJoin.
var query = context.Students
.LeftJoin(
context.Departments,
student => student.StudentID,
department => department.DepartmentID,
(student, department) => new
{
student.FirstName,
student.LastName,
Department = department.Name
});
Oracle EF Core generates the following SQL that uses LEFT JOIN:
SELECT [s].[FirstName], [s].[FirstName], [d].[Department]
FROM [Students] AS [s]
LEFT JOIN [Departments] AS [d] ON [s].[StudentID] = [d].[DepartmentID]
ExecuteUpdate for Relational JSON Columns
Previously, the ExecuteUpdate method could not update JSON column data. Oracle EF Core now supports referencing JSON columns and properties within ExecuteUpdate, a new EF Core 10 feature. This allows efficient document-modeled bulk updates in the Oracle database.
ExecuteUpdateAsync Accepts Regular Non-Expression Lambda
The ExecuteUpdateAsync method performs arbitrary database update operations. In past releases, an expression tree parameter supplied the database row changes, making it difficult for developers to incorporate dynamic updates. Manually creating expression trees was a challenging and error prone process.
Oracle EF Core 10 apps can now pass a lambda expression in the ExecuteUpdateAsync method to update the records conditionally.
Redacting Inlined Constants
Earlier EF Core versions logged inline SQL statement parameter values, rather than redact them, even when sensitive data logging was disabled. Oracle EF Core 10 now redacts inlined parameters by default to further protect sensitive data from being unintentionally logged.
Optimize Count Operation Use on ICollection<T>
The [Count operation is now optimized to use SQL EXISTS](https://learn.microsoft.com/en-us/ef/core/what-is-new/ef-core-10.0/whatsnew#bug-fixes-and-optimizations) instead of COUNT with .NET collections. For example, let’s start with a modified version of the common Blog and Post classes. We can perform a Count operation on them within a query.
public class Blog
{
public int Id { get; set; }
public ICollection<Post> Posts { get; set; } = default!;
}
public class Post
{
public int Id { get; set; }
}
context.Blogs.Where(b => b.Posts.Count > 0);
In older EF Core versions, the SQL created would use COUNT:
SELECT [b].[Id]
FROM [Blogs] AS [b]
WHERE (
SELECT COUNT(*)
FROM [Post] AS [p]
WHERE [b].[Id] = [p].[BlogId]
) > 0
With Oracle EF Core 10, the SQL uses EXISTS in the WHERE clause.
SELECT [b].[Id]
FROM [Blogs] AS [b]
WHERE EXISTS (
SELECT 1
FROM [Post] AS [p]
WHERE [b].[Id] = [p].[BlogId]
)
Parameter Name Simplification
This enhancement removes the query parameter underscore prefix and improves parameter uniqueness only when needed. A parameter name that would previously be :_city_0 now becomes simpler as :p_city.
Parameter names that match Oracle reserved keywords will not be simplified to avoid conflicts.
Coming Soon — Spatial Data and NetTopologySuite
With this release, the infrastructure is in place for EF Core spatial data support with the Oracle database.
Spatial data can represent physical locations and object shapes. The Oracle database has supported this data type for many years.
The NetTopologySuite library maps database spatial data types in EF Core.
A new Oracle NetTopologySuite preview release will allow Oracle database spatial types to be accessed and mapped using EF Core. It is expected to be released before the end of this year.
Try Oracle EF Core 10
With this release, Oracle database developers can start developing and deploying EF Core 10 apps in production.
Try it out and let us know your feedback on GitHub or ODP.NET forum.
For more information, go to the Oracle EF Core 10 documentation section and watch this video segment on Oracle .NET 10 and EF Core 10 support.
[embed]ODP.NET support for EF Core 10 and .NET 10
메타데이터
- post_id
- 595fd4d1e984
- slug
- announcing-oracle-entity-framework-core-10-595fd4d1e984
- url
- https://medium.com/oracledevs/announcing-oracle-entity-framework-core-10-595fd4d1e984
- canonical_url
- https://medium.com/oracledevs/announcing-oracle-entity-framework-core-10-595fd4d1e984
- author_url
- https://medium.com/@alex.keh
- status
- ok
- fetched_at
- 2026-07-14 23:08:55