2011-06-30 9 views
-1

EF 4を使用してデータを処理する単純なコンソールアプリがあります。 1つから読み込み、いくつかのことをして、別のデータベースに挿入します。 EDMXファイルで、宛先データベースのProviderManifestTokenが "2005"に設定されています。バージョンが一致しない場合、ProviderManifestTokenはどのようにデータベースに影響しますか?

昨日、私たちのアプリが爆発しました。ストーリーを短くするために、私たちのコンサルタントは、SQL Server 2000でなければならないdbが2005年にアップグレードされたと述べています。そのアップグレードによって、アプリケーションの破綻が起こりました。どのようにアップグレードが行われたか説明することはできません。

ProviderManifestTokenの値によってdbにアップグレードできますか?たとえば、dbが現在2000で、このアプリケーションが "ProviderManifestToken = 2005"で実行されている場合、dbで強制的にアップグレードできますか?バージョンが一致しない場合はどうなりますか?

答えて

1

エンティティフレームワークにSQL Server 2000をSQL Server 2005にアップグレードするためのインストールDVDが含まれていると思いますか?いいえ、それはありません。 Provider manifest tokenは、方言のみを記述します(EFは方言に基づいてクエリを生成します)。データベースの変更は一切発生しません。誰かがあなたのデータベースをアップグレードしなければなりませんでした(新しいバージョンへのアップグレードは無料ではありません - それにはライセンスが必要ですが、Windows Updateを通してダウンロードされたものではありません)。

Btw。とにかくEFv4によるSQL Server 2000 is not supported 2005年の方言用に生成されたFirstSingleTakeSkipなどを使用してlinq-to-entitiesクエリがSQL上で機能しないため、2005年の方言を2005年に設定し、 Server 2000.

関連する問題