EntityFrameworkCore.OpenEdge 9.0.6

dotnet add package EntityFrameworkCore.OpenEdge --version 9.0.6
                    
NuGet\Install-Package EntityFrameworkCore.OpenEdge -Version 9.0.6
                    
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="EntityFrameworkCore.OpenEdge" Version="9.0.6" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="EntityFrameworkCore.OpenEdge" Version="9.0.6" />
                    
Directory.Packages.props
<PackageReference Include="EntityFrameworkCore.OpenEdge" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add EntityFrameworkCore.OpenEdge --version 9.0.6
                    
#r "nuget: EntityFrameworkCore.OpenEdge, 9.0.6"
                    
#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.
#:package EntityFrameworkCore.OpenEdge@9.0.6
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=EntityFrameworkCore.OpenEdge&version=9.0.6
                    
Install as a Cake Addin
#tool nuget:?package=EntityFrameworkCore.OpenEdge&version=9.0.6
                    
Install as a Cake Tool

EntityFrameworkCore.OpenEdge

NuGet Version License: Apache-2.0

EntityFrameworkCore.OpenEdge is an Entity Framework Core 9 provider that lets you target Progress OpenEdge databases via ODBC.

⚠️ Status: This library is under active development. While it is already used in production scenarios, you may still encounter bugs or missing edge-cases. Please open an issue if you run into problems.


Quick Start

Install

dotnet add package EntityFrameworkCore.OpenEdge --version 9.0.6

DSN-less connection

optionsBuilder.UseOpenEdge(
    "Driver=Progress OpenEdge 11.7 Driver;" +
    "HOST=localhost;PORT=10000;UID=<user>;PWD=<password>;DIL=1;Database=<db>");

Using a DSN

optionsBuilder.UseOpenEdge("dsn=MyDb;password=mypassword");

Custom schema (defaults to "pub")

optionsBuilder.UseOpenEdge(
    connectionString: "dsn=MyDb;password=mypassword",
    defaultSchema: "myschema");

Reverse-engineer an existing database

Scaffold-DbContext "dsn=MyDb;password=mypassword" EntityFrameworkCore.OpenEdge -OutputDir Models

Feature Matrix (EF Core 9)

Area Status Notes
Queries SELECT, WHERE, ORDER BY, GROUP BY, paging (Skip/Take), aggregates
Joins / Include INNER JOIN, LEFT JOIN, filtered Includes
String operations Contains, StartsWith, EndsWith, Length
CRUD INSERT, UPDATE, DELETE – one command per operation (OpenEdge limitation)
Scaffolding Scaffold-DbContext
Nested queries Skip/Take inside sub-queries (new in 9.0.4)
DateTime literal support { ts 'yyyy-MM-dd HH:mm:ss' } formatting
Date/Time operations DateOnly properties (Year, Month, Day, DayOfYear, DayOfWeek); methods (FromDateTime, AddDays, AddMonths, AddYears)

OpenEdge Gotchas

  • Primary keys – OpenEdge doesn’t enforce uniqueness. Use rowid or define composite keys
  • No batching / RETURNING – each modification executes individually; concurrency detection is limited.

See the OpenEdge SQL Reference for database specifics.

Legacy 1.x Line (netstandard2.0 / EF Core 2.1)

The original 1.x versions target netstandard 2.0 and EF Core 2.1.
They remain on NuGet for applications that cannot yet migrate to .NET 8/9.

Package Framework EF Core Install
1.0.11 (latest stable) netstandard2.0 2.1.x dotnet add package EntityFrameworkCore.OpenEdge --version 1.0.11
1.0.12-rc3 netstandard2.0 2.1.x dotnet add package EntityFrameworkCore.OpenEdge --version 1.0.12-rc3

The 1.x branch is feature-frozen. New development happens in the 9.x line.

Contributing & Development

We welcome pull requests — especially back-ports to older EF Core branches and additional translator implementations.

  • Testing requirements: EF Core providers are expected to pass the EF Core provider specification tests. Our current test harness is minimal and may not cover all cases. Contributions that add missing tests (or implement the snadard testing flow for database providers) are highly appreciated.
  • Bug reports: Please include a runnable repro or failing test where possible.

For a deeper dive into the architecture (query / update pipelines, type mapping, etc.) browse the source under src/EFCore.OpenEdge.

License

Apache-2.0 – see LICENSE.

Product Compatible and additional computed target framework versions.
.NET net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on EntityFrameworkCore.OpenEdge:

Package Downloads
BizDoc.Infrastructure.Mfg

QAD MFG for BizDoc

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
9.0.6 79 8/22/2025
9.0.4 107 8/16/2025
1.0.12-rc3 582 11/24/2020
1.0.12-rc2 390 11/24/2020
1.0.12-rc1 375 11/24/2020
1.0.11 5,488 11/17/2020
1.0.9-rc1 616 8/30/2019
1.0.8 3,030 7/25/2019
1.0.7 1,910 12/18/2018
1.0.6 798 12/17/2018
1.0.5-beta2 657 12/13/2018
1.0.5-beta1 659 12/7/2018
1.0.4 776 12/7/2018
1.0.3 859 12/6/2018
1.0.2 784 12/4/2018
1.0.1 798 12/3/2018
1.0.0 841 12/2/2018

- Version 9.0.6
       - Fixed issue with boolean comparison not being translated correctly in some cases
       - Added support for DateOnly type in queries

     - Version 9.0.5
       - Added support for DateOnly type. This ensures that OpenEdge DATE columns are mapped to DateOnly type in EF Core.

     - Version 9.0.4
       - Fixed issue with OFFSET/FETCH parameters not being inlined correctly in complex queries
       - Added support for nested queries with Skip/Take