c# - 实体框架:多个数据库版本
问题描述
我们有一个产品在第三方数据库之外运行,该数据库具有我们无法修改的模式。在每个安装站点,该数据库可能有多种版本。某些列可能存在于一个数据库中,但不存在于其他数据库中,或者可能具有不同的数据类型。
处理此问题的 EF 最佳实践是什么?显然,它需要一些具有不同版本的情景编码,但我的具体问题是如何在逻辑中尽可能少地进行情景编程来处理这个问题。对于大多数数据库调用,更改不会影响我们,我希望保留尽可能多地编写一个查询的能力。
我们能够在运行时知道数据库的版本,所以我们不需要做任何调查来弄清楚这一点。我们正在运行 Entity Framework 6,但我们对项目的了解并不太远,所以如果以后版本的 EF 可以更好地解决这个问题,我们可以切换。
如果这是重复的,请纠正我,但我只能找到与一次访问多个数据库相关的现有问题。在这个问题中,我希望只传递一个数据库,而不必指定“DbContextV10”和“DbContextV11”。生成一个通用接口在某种程度上会起作用,但它实际上取决于版本更改的幅度,我们不知道未来的情况,我们希望将来尽量减少我们的工作。
解决方案
推荐阅读
- powershell - 在 Powershell 中将 System.Object[] 转换为 csv 逗号分隔的对象
- flutter - Flutter:基于api加载FontAwesome图标
- android - 为什么没有为我的 Android Flutter 应用收集谷歌分析数据?
- python - 在 Django 项目中使用中间件类进行用户身份验证
- c# - 在 Teams 中设置联机会议
- php - 使用 GitHub 在共享主机上部署 Laravel PHP 站点
- python - 在鼠标悬停的右侧或左侧扬声器上播放声音
- python-3.7 - 如何减去不连续的字符串python
- azure - Azure 消息总线未释放内存
- docker - 无法在 http+docker://localhost 连接到 Docker 守护程序 - 它正在运行吗?(特殊用例)