c# - EF 多个不同版本的数据库

标签 c# mysql entity-framework

我正在开发一个 API,该 API 可与来自 Webshop 框架的数据库的不同实例一起使用。收到调用时,API 会获取属于该特定网上商店的数据库字符串,以便它能够处理其数​​据。

这一切都适用于 Entity Framework (数据库优先)。但是现在我们想将其中一个网上商店升级到更新版本的框架。在那个版本中,它的数据库有一些小的变化。因为一些新列不可为空,所以我必须更改 API 中的模型,以便能够插入值。

我们真的很想保留对以前版本框架的支持。但是现在当我们尝试使用新的 DataContext 插入时,它说某些列名无效,因为它们不在以前的版本中。

问题是是否有可能以某种方式让 Entity Framework 忽略无效的列名,或者是否有可能告诉 Entity Framework 数据库存在于哪个版本以让它使用不同的模型?

最佳答案

有几种可能的解决方案:

1 您需要两个数据库:第一个是新版本,第二个是旧版本,如果需要,您可以保持它们同步。

2 您使用单个数据库,并且只有新版本可以直接访问它。在这种情况下,您将需要在新版本上实现一个 API,并且来自旧版本的请求将使用此 API 转换为新版本请求。

3 您可以将旧版本升级到新版本。

关于c# - EF 多个不同版本的数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39080682/

相关文章:

c# - 如何在 .net 中使用反射获取对象名称?

java - Mysql 复杂对象 Hibernate 批量插入

.net - 如何监控数据库往返

c# - 如何在 asp.net c# 中将项目动态添加到 Modal Popup 中的列表框

c# - 成员在另一个模块中声明,需要导入

mysql - 通过比较特定列查找最小值,但显示所有列和行 - MySQL

mysql - 如何在 Flask-Sqlalchemy 中设置全局级别 group_concat_max_len ?

c# - 标识自动增量未应用于列

c# - 模块化系统中的 EF Core

c# - 未知的代码分析错误