2016-08-22 4 views
1

私は、Webshopフレームワークのデータベースの異なるインスタンスで動作するAPIを開発中です。呼び出しを受け取ると、APIはその特定のwebshopに属するデータベース文字列を取得し、そのデータを処理することができます。EF異なるバージョンの複数のデータベース

これはすべて、Entity Framework(データベースの最初のもの)でうまく機能します。しかし、今では、Webショップの1つをフレームワークの新しいバージョンにアップグレードしたいと考えています。そのバージョンでは、データベースに少し変更があります。いくつかの新しい列はnull可能ではないので、私は値を挿入できるようにAPIのモデルを変更しなければなりませんでした。

フレームワークの以前のバージョンのサポートを本当にしたいと考えています。しかし、新しいDataContextを挿入しようとすると、以前のバージョンにないので、一部の列名が無効であることがわかります。

Entity Frameworkで無効な列名が無視される可能性がある場合、または異なるモデルを使用できるようにデータベースが存在するバージョンをEntity Frameworkに指示することが可能な場合、

答えて

2

いくつかの可能な解決策があります:あなたは、2つのデータベースを必要とする

1:最初の意志新しいバージョンであること、2番目のバージョンは古いバージョンであり、必要に応じてそれらを同期させておくことです。

2単一のデータベースを使用し、新しいバージョンのみがそれに直接アクセスできます。この場合、新しいバージョンでAPIを実装する必要があり、古いバージョンからのリクエストはこのAPIを使用して新しいバージョンのリクエストに変換されます。

3古いバージョンを新しいバージョンにアップグレードできます。

+0

あなたは正しいです。他の人たちと素早く話し合った後、私たちはすべてを新しいバージョンに固執させ、古いもののコードベースを離れたままにすることに決めました。私たちはこれを必要とするかもしれません。あなたの素早い答えをありがとう – StijnvanGaal

+0

あなたは歓迎です、私は助けることができてうれしいです。 –

1

私はそれが現時点では不可能だと確信しています。私はどうなるのか

は、個々の各データベース(バージョン)のためのDbContextと同様に、バージョンごとに1つのPOCOモデルを作成することです

関連する問題