EF プロバイダーを使用する Odata サービスがあります。私は問題なく動作し、簡単に作成できました。しかし今、それを変える必要があります。この質問は、この質問に似ています。しかし、私は答えがはっきりしていません。
一度にすべてのクライアントを更新することは不可能であるため、サービスの 2 つ (またはそれ以上) のバージョンを同時に提供できる必要があります。最初は引き続き 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 コンテキストを持つことは許容できる解決策ですが、これを達成できるかどうか、またどのように達成できるかはわかりません。
前もって感謝します