如何为具有相同结构的不同数据库制作EF迁移脚本

时间:2018-08-09 15:42:24

标签: asp.net-mvc-5 entity-framework-6

我正在使用Entity Framework开发ASP.NET MVC 5应用程序。最初,我使用sql server community Edition创建模型表。现在,我将数据库更改为Mysql,并尝试在数据库上应用迁移。对于某些人来说,它起作用了,而对于某些人却没有(特别是当表名之前有dbo。前缀时)。

问:我想知道是否有一种方法可以为不同类型的数据库维护不同的迁移脚本,并根据客户端的预算相应地生成sql脚本。(说我的客户端现在和以后的SqlServer都能买得起MySql)。我的具体目标是为所有列出的数据库生成脚本,说我有POSTGRESQL,RAVENDB,MYSQL,SQLSERVER等不同的提供程序。

我确实知道以后可以从一个数据库创建ANSI标准脚本,然后将其复制到其他数据库,但是我现在需要每种类型的EF版本。

1 个答案:

答案 0 :(得分:1)

您可以尝试在OnModelCreating中即时更改配置,然后根据需要将不同的迁移保留在单独的程序集中?

// OnModelCreating builder.ApplyConfiguration(new CustomConfiguration());

老实说,我不想走这条路,并确保您创建(并测试!)可重用(ANSI)迁移。