实体框架,创建适用于2种数据库类型的应用程序(Firebird和Mysql)

时间:2017-02-18 13:01:29

标签: mysql entity-framework postgresql firebird

我正在使用Firebird SQL为我的应用程序(Windows应用程序)。我想从网络(ASP CORE)访问数据,但我没有找到合理的Firebird托管,但很多MySql.If我想要赢取应用程序让它与两种数据库类型一起工作对于Entity框架来说会很难吗? 现在的应用程序是用ADO.NET Framewok 3.5编写的(没有Linq) Postgres是另一种选择 谢谢!

2 个答案:

答案 0 :(得分:1)

使用ASP.NET Core应用程序,您将需要使用Entity Framework Core,而不能使用Entity Framework 5.确实

  • Entity Framework Core构建于.NET Core
  • 之上
  • Entity Framework 5构建于.NET的顶层

这是两个完全不同的框架。

现在我们可以在这里查看EF Core支持的数据库提供商https://docs.microsoft.com/en-us/ef/core/providers/,例如:

  • ASP.NET团队正式支持SQL Server
  • 社区支持MySQL
  • 社区支持PostgreSQL
  • (此列表并非详尽无遗)

不幸的是,Firebird SQL没有任何内容,因此您无法使用它。

解决方案1 ​​是编写ASP.NET核心代码以使用Entity Framework Core,您可以重写Windows应用程序代码以使用Entity Framework,但它就像写作一样2个不同框架中的相同代码。此外,您必须记住,Entity Framework Core目前正在开发中,并且它将不断发展。路线图在这里https://github.com/aspnet/EntityFramework/wiki/Roadmap

解决方案2 不会使用ASP.NET Core而是使用ASP.NET 4.6,这样您就可以使用Entity Framework(只有一个代码可以保持更好),适用于您的Web应用程序和Windows应用程序。请仔细选择;)

答案 1 :(得分:1)

现在可以了,我刚刚发布了Firebird的提供程序。

你可以在这里和NuGet找到它。

https://github.com/souchprod/SouchProd.EntityFrameworkCore.Firebird