SQL Server 2008およびSQL Server 2005と日時の使用

datetime datetime2 entity-framework sql-server-2005 sql-server-2008

質問

私は2008年のデータベースに対してエンティティフレームワークモデルを構築しました。 2008年のデータベースに対しては、すべて問題なく動作します。 2005データベースのエンティティを更新しようとすると、このエラーが発生します。

The version of SQL Server in use does not support datatype 'datetime2

データベースを構築したとき、私は特に2008の機能を使用しませんでした。コードにdatetime2への参照が見つかりません。そして、その列はデータベースで "datetime"として定義されています。

受け入れられた回答

簡単なグーグルが解決策のように見えるものを私に指摘します。

ファイルエディタでEDMXを開きます(またはVisual Studioの場合は[開く]をクリックし、[XMLエディタ]を選択します)。一番上にはストレージモデルがあり、それにはProviderManifestTokenという属性があります。これは値2008を持っているはずです。それを2005に変更して、再コンパイルすればすべてうまくいきます。

注:データベースからモデルを更新するたびにこれを実行する必要があります。


人気のある回答

線のクイックビュー:

<Schema Namespace="Foobar.Store" Alias="Self" Provider="System.Data.SqlClient" ProviderManifestToken="2005" >


ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ