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?

有帮助吗?

解决方案

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.

其他提示

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top