我有一个使用 EF 提供程序的 Odata 服务。我工作得很好并且很容易创建。但现在它需要改变。这个问题与这个问题类似。但我不清楚答案。
我需要能够同时提供两个(或更多)版本的服务,因为不可能一次更新所有客户端。我想先继续使用 EF 代码(因为到目前为止它很容易),但这不是必需的。我只有很少的服务,所以如果这会给我所需的灵活性,我不介意重写。
使用 c# 实现 Odata 服务的最佳(最简单和可维护的)方法是什么,该服务可以从同一个数据库同时支持同一服务的多个版本。
我尝试使用反射提供程序来转换 EF dbcontext。我想要这样的东西:
db -> EF db context -> reflection DB context.v1 -> DataService.v1
和
db -> EF db context -> reflection DB context.v2 -> DataService.v2
如果只有 EF 选择允许,我几乎让它工作(至少用于读取)ToList()
我确实需要支持 write as wel(对于某些服务)
有 2 个 EF db 上下文针对同一个数据库将是一个可接受的解决方案,但我不知道我是否以及如何实现这一点。
提前致谢