3

開発では SQL Server 2012 を使用していますが、一部の顧客は 2005 年の古いバージョンを使用している可能性があります。Entity Framework データ モデルを古いバージョンで動作させるには、ProviderManifestToken (edmx ファイルにあります) を 2005 に設定する必要があります。

今私の質問は、これには副作用がありますか? これを変更したのとほぼ同時に、一部のデータ バインディング (winform) が破損していることに気付きましたが、それはすべて偶然の一致である可能性があります。それで、それはこれですか、それともこの値を変更することによる他の悪影響はありますか?

4

1 に答える 1

2

ProviderManifestToken は主に Sql 生成中に使用され、生成されたクエリがターゲット バージョンのデータベースで確実に機能するようにします。以前のバージョンで機能していた Sql Server クエリの場合、現在のバージョンでも引き続き機能するはずなので、これは問題になりません。したがって、Sql 2005 クエリを Sql 2008/2012 データベースに送信するため、一般的には動作するはずです。バインディングについてはよくわかりませんが、ProviderManifestToken として 2005 を使用したことが原因である可能性は低いと思われます。私が驚いたシナリオは、マニフェスト トークンを 2005 から 2008 に変更したとき (基本的にはデータベースとアプリをアップグレードしたとき) でした。混乱は主に datetime/datetime2 に関するものでした (AFAIR datetime2 型が突然クエリに表示される可能性があります)。

于 2013-02-01T01:46:54.580 に答える