我的上下文:C#,EF,SQL Server 2012。
有两个独立的应用程序(服务),我们称之为X和Y.
X& Y单独运行,没有通信,但是他们可以访问同一个数据库。
示例:外部客户端使用X
api提供数据。它存储在数据库中。
Y
服务查看数据库和进程(在youtube频道上传/同步视频。)
现在业务决定:需要添加额外的数据。
因此需要扩展X的API。数据库需要扩展。
需要更新Y才能处理新数据。
困境是:我们有很多客户。他们都有自己的数据库。我们不想更新他们所有的数据库。
我们没有服务Y的多个版本。所以他们都将获得新版本的服务Y.
因此,服务Y必须同时使用OLD和NEW版本的数据库。
服务X只会在数据库更新时更新...所以没有问题。
服务Y使用实体框架,(不生成代码)。
如何确保服务Y在两种情况下均有效?:
任何人有任何想法????
答案 0 :(得分:0)
案例新:这不应该是
的问题新版服务Y
和新数据库。
Case OLD:由于映射错误,导致向后兼容性问题的原因是EF崩溃。一种选择是基于旧的数据库结构重建模型,并将其保存在类库中,准备将其放入Y.另一种方法是代码优先方法。
更进一步阅读: