Sql server 使用SQL Server进行开发,稍后更改为PostgreSQL

Sql server 使用SQL Server进行开发,稍后更改为PostgreSQL,sql-server,entity-framework-core,asp.net-core-2.2,postgresql-11,Sql Server,Entity Framework Core,Asp.net Core 2.2,Postgresql 11,我需要建立一个应用程序与ASP.Net核心2.2 MVC,EF核心和使用SQL Server本地数据库在开发过程中 但是,在准备部署应用程序时,我希望将PostgreSQL 11的依赖项包含到项目中,并指示项目使用PostgreSQL而不是SQL Server 这种方法是一种可行的方法,我可以使用EF Core轻松地将一个数据库交换到另一个数据库,还是应该从一开始就使用PostgreSQL 先谢谢你 …Ben这是一种可行的方法,但您不能使用任何SQL Server或PostgreSQL特定的功能

我需要建立一个应用程序与ASP.Net核心2.2 MVC,EF核心和使用SQL Server本地数据库在开发过程中

但是,在准备部署应用程序时,我希望将PostgreSQL 11的依赖项包含到项目中,并指示项目使用PostgreSQL而不是SQL Server

这种方法是一种可行的方法,我可以使用EF Core轻松地将一个数据库交换到另一个数据库,还是应该从一开始就使用PostgreSQL

先谢谢你


…Ben

这是一种可行的方法,但您不能使用任何SQL Server或PostgreSQL特定的功能

如果您希望您的程序继续支持这两个数据库,那么请继续在其中一个数据库中开发,但要注意不要使用SQL Server特定的功能


如果将来只缩进使用PostgreSQL,那么应该使用它进行开发。它是免费的,因此您可以轻松安装本地版本进行开发。

谢谢您的回答,您的观点得到了很好的理解。但我的问题的实质是,从EF的角度来看,如果我只通过EF与DB交互,那么使用哪个DB有关系吗?这取决于你如何通过EFAndreas与DB交互是正确的。您需要从一开始就使用PostgreSQL。我创建了一个带有身份验证的ASP.Net Core 2.2,其中VS17为我创建了一个带有默认本地SQL的基本解决方案,并创建了第一个基于SQL Server的迁移。然后,我将设置更改为使用EF for PostgreSQL,并尝试运行更新数据库。我遇到了一系列与使用迁移创建表的语法相关的错误。然后,我删除了VS生成的所有迁移文件,并使用PosgreSQL驱动程序运行添加迁移,它为我创建了一个新的迁移,当我更新数据库时,它正常工作。