asp.net-mvc-5 - 如何为具有相同结构的不同数据库制作 EF 迁移脚本
问题描述
我正在使用实体框架开发 ASP.NET MVC 5 应用程序。最初我使用 sql server community edition 为模型创建表。现在我将数据库更改为 Mysql 并尝试在数据库上应用迁移。对于某些人来说,它有效,而对于某些人来说,它没有(特别是当它在表名之前有 dbo. 前缀时)。
问:我想知道是否有办法为不同类型的数据库维护不同的迁移脚本,并根据客户的预算相应地生成 sql 脚本。(假设我的客户现在可以负担得起 MySql 和以后的 SqlServer)。我的具体目标是为所有列出的数据库生成脚本,比如我有不同的提供程序,如 POSTGRESQL、RAVENDB、MYSQL、SQLSERVER 等。
我知道我可以稍后从一个数据库创建 ANSI 标准脚本并复制到其他数据库,但我需要为每种类型进行 EF 版本控制,现在这是我的要求。
解决方案
您可以尝试即时更改配置,OnModelCreating
然后在需要时将不同的迁移保留在单独的程序集中?
// OnModelCreating
builder.ApplyConfiguration(new CustomConfiguration());
老实说,我宁愿不走这条路,并确保您创建(并测试!)可重用(ANSI)迁移。
推荐阅读
- python - 如何让自定义字体在 Google Colab 上工作,以便我可以使用它来运行 manim(3b1b 的动画软件)
- javascript - 如何在两个 div 元素之间绘制箭头并在调整窗口大小时将其保留在它们之间?
- sql - 分区满足条件的 SQL GROUP BY
- python - 我已经建立了一个井字游戏,但是有一个错误,无法验证玩家是否赢了然后跳出循环
- c++ - 使用 assimp 获取纹理比例
- java - 如何在另一个maven项目中使用一个maven项目的属性
- java - 是否有人使用 Spring 集成 java DSL 配置发送带有附件的电子邮件
- r - 有什么方法可以按 R 中的条件过滤掉嵌套列表?
- python - 设置“菜单”的小部件状态
- reactjs - 反应日历不呈现样式