Oracle.ManagedDataAccess.EntityFramework 23.4.0

The ID prefix of this package has been reserved for one of the owners of this package by Prefix Reserved
dotnet add package Oracle.ManagedDataAccess.EntityFramework --version 23.4.0
NuGet\Install-Package Oracle.ManagedDataAccess.EntityFramework -Version 23.4.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Oracle.ManagedDataAccess.EntityFramework" Version="23.4.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Oracle.ManagedDataAccess.EntityFramework --version 23.4.0
#r "nuget: Oracle.ManagedDataAccess.EntityFramework, 23.4.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Oracle.ManagedDataAccess.EntityFramework as a Cake Addin
#addin nuget:?package=Oracle.ManagedDataAccess.EntityFramework&version=23.4.0

// Install Oracle.ManagedDataAccess.EntityFramework as a Cake Tool
#tool nuget:?package=Oracle.ManagedDataAccess.EntityFramework&version=23.4.0

Oracle Logo

Oracle.ManagedDataAccess.EntityFramework 23.4.0

Release Notes for Oracle Data Provider for .NET, Managed Driver for Entity Framework 6 NuGet Package

April 2024

This document provides information that supplements the Oracle Data Provider for .NET (ODP.NET) documentation.

New Features

  • Public OracleMigrationSqlGenerator Class

Bug Fixes since Oracle.ManagedDataAccess.EntityFramework 21.9.0

  • None

Installation Changes

The following app/web.config entries are added when installing this NuGet package:

  1. Entity Framework

The Oracle Entity Framework 6 "provider" entry is added to the "entityFramework" section to enable Entity Framework to use Oracle.ManagedDataAccess.dll.

  1. Connection String

A sample ODP.NET connection string entry is added to enable the classes that are derived from DbContext to be associated with a connection string instead of associating the derived class with a connection string programmatically via its constructor. The name "OracleDbContext" should be changed to the class name that derives from DbContext. The connectionString attribute should be modified properly to set the "User Id", "Password", and "Data Source" appropriately with valid values.

Tips, Limitations, and Known Issues

This section contains Entity Framework related information that pertains to both ODP.NET, Managed Driver and ODP.NET, Unmanaged Driver.

  1. Interval Day to Second and Interval Year to Month column values cannot be compared to literals in a WHERE clause of a LINQ to Entities or an Entity SQL query.

  2. LINQ to Entities and Entity SQL (ESQL) queries that require the usage of SQL APPLY in the generated queries will cause SQL syntax error(s) if the Oracle Database being used does not support APPLY. In such cases, the inner exception message will indicate that APPLY is not supported by the database.

  3. ODP.NET does not currently support wildcards that accept character ranges for the LIKE operator in Entity SQL (i.e. [] and [^]). [Bug 11683837]

  4. Executing LINQ or ESQL query against tables with one or more column names that are close to or equal to the maximum length of identifiers (30 bytes) may encounter "ORA-00972: identifier is too long" error, due to the usage of alias identifier(s) in the generated SQL that exceed the limit.

  5. An "ORA-00932: inconsistent datatypes: expected - got NCLOB" error will be encountered when trying to bind a string that is equal to or greater than 2,000 characters in length to an XMLType column or parameter. [Bug 12630958]

  6. An "ORA-00932 : inconsistent datatypes" error can be encountered if a string of 2,000 or more characters, or a byte array with 4,000 bytes or more in length, is bound in a WHERE clause of a LINQ/ESQL query. The same error can be encountered if an entity property that maps to a BLOB, CLOB, NCLOB, LONG, LONG RAW, XMLTYPE column is used in a WHERE clause of a LINQ/ESQL query.

  7. An "Arithmetic operation resulted in an overflow" exception can be encountered when fetching numeric values that have more precision than what the .NET type can support. In such cases, the LINQ or ESQL query can "cast" the value to a particular .NET or EDM type to limit the precision and avoid the exception. This approach can be useful if the LINQ/ESQL query has computed/calculated columns which will store up to 38 precision in Oracle, which cannot be represented as .NET decimal unless the value is casted.

  8. Oracle Database treats NULLs and empty strings the same. When executing string related operations on NULLS or empty strings, the result will be NULL. When comparing strings with NULLs, use the equals operator (i.e. "x == NULL") in the LINQ query, which will in turn use the "IS NULL" condition in the generated SQL that will appropriately detect NULL-ness.

  9. If an exception message of "The store provider factory type 'Oracle.ManagedDataAccess.Client.OracleClientFactory' does not implement the IServiceProvider interface." is encountered when executing an Entity Framework application with ODP.NET, the machine.config requires and entry for ODP.NET under the "DbProviderFactories" section. To resolve this issue by adding an entry in the machine.config, reinstall ODP.NET

  10. Creating a second instance of the context that derives from DbContext within an application and executing methods within the scope of that context that result in an interaction with the database may result in unexpected recreation of the database objects if the DropCreateDatabaseAlways database initializer is used.

Known workarounds:

  • Use a different database initializer,
  • Use an operating system authenticated user for the connection, or
  • Include "Persist Security Info=true" in the connection string (Warning: Turning on "Persist Security Info" will cause the password to remain as part of the connection string).

Copyright (c) 2024, Oracle and/or its affiliates.

Product Compatible and additional computed target framework versions.
.NET Framework net472 is compatible.  net48 was computed.  net481 was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (25)

Showing the top 5 NuGet packages that depend on Oracle.ManagedDataAccess.EntityFramework:

Package Downloads




Vasont.API.Data The ID prefix of this package has been reserved for one of the owners of this package by

Contains the core database entity model and support functions for the Vasont Inspire API.


.net base support 4.5+ standard2+(base ef:MSSQL,MYSQL,ORACLE,SQLLITE)


In Motion Colombia VisualTIME data access.

GitHub repositories (4)

Showing the top 4 popular GitHub repositories that depend on Oracle.ManagedDataAccess.EntityFramework:

Repository Stars
Global filtering for Entity Framework.
帮助企业快速开发的.net项目框架 Help companies develop project framework
A Web Rapid Development Framework For .NET4.472 Based On AdminLTE
A Web Rapid Development Framework For .NET4.52
Version Downloads Last updated
23.4.0 1,787 5/2/2024
21.9.0 148,933 1/19/2023
21.5.0 108,751 1/4/2022
21.4.0 60,637 10/27/2021
19.18.0 31,622 1/19/2023
19.14.0 43,812 1/4/2022
19.13.0 18,579 10/8/2021
19.7.0 413,440 4/21/2020
19.6.0 314,189 12/6/2019
19.3.0 383,923 5/22/2019
18.15.1 2,719 2/3/2023
18.15.0 5,868 8/5/2021
18.3.0 382,240 8/29/2018
12.2.20230118 6,778 2/3/2023
12.2.20220118 5,226 12/7/2021
12.2.20190115 45,091 1/26/2019
12.2.1100 587,028 5/31/2017
12.1.24230118 2,088 2/3/2023
12.1.24220118 2,588 12/7/2021
12.1.181215 17,965 2/4/2019
12.1.2400 591,218 10/14/2015
12.1.22 104,816 6/23/2015
12.1.21 125,740 1/16/2015