Question

I found out there is no OLEDB or native ADO.NET driver for OpenEdge.

Has anyone had success in using the OpenEdge driver with Linq or Entity Framework?

Was it helpful?

Solution

EF Core

There is still no official solution from ProgressSw but I can recommend the provider from Alex Wiese (see Answer below): EntityFrameworkCore.OpenEdge

EF 6 (.Net Framework)

Because ODBC is the only supported Interface for .net Clients you can't use OpenEdge DB with Entity Framework directly (Why doesn't Entity Framework support ODBC?).

But there is a commercial ADO.NET Driver for OpenEdge from OpenLink and an unofficial NHibernate Dialect.

OTHER TIPS

Update

I've now created an Entity Framework Core provider for OpenEdge. You can now use Entity Framework Core against an OpenEdge database via ODBC.

Dapper

You can use the simple ORM Dapper with ODBC connection to Progress OpenEdge.

using (var connection = new OdbcConnection("DSN=My OpenEdge DB;Pwd=mypassword"))
{
    connection.Open();

    var dogs = connection.Query<Dog>("SELECT * FROM pub.Dogs");
}

You can use Dapper.Contrib (so you don't need to write SQL) for some select statements. Other statements don't work correctly and there are issues with parameters. You can fork Dapper and modify the code to fix these issues.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top