2011-08-03 5 views
1

私のWindowsの電話アプリケーションで既存のSQL CE 4データベースを使用しようとしています。 私はスキーマをセットアップしました。コンテキストを作成すると、私の接続文字列使用して罰金だ「データソース= 『APPDATA:/Items.sdfを』;モードは= 『読み取り専用』」私は、私は次のエラーを取得するデータベースを照会しようとすると、しかしWindows上の互換性のないSQL CEデータベース電話

を:

Incompatible Database Version. If this was a compatible file, run repair. For other cases refer to documentation. [ Db version = 4000000,Requested version = 3505053,File name = Items.sdf ]

Items.sdfデータベースは、EntityFramework 4.1 Code Firstを使用して作成されました。

これを互換性のある方法にするためのアイデアはありますか?私は別のことをしなければならないでしょうか?

+0

LINQ to SQLとSQLMetalをデスクトップ上のデータベース作成に使用する方が良いでしょう。 – ErikEJ

答えて

1

Windows Phoneは、エンジンとして4.0ではなくSQL Compact 3.5を使用しています。バージョン3.5と互換性のあるファイルを作成する必要があります(EFがそれをオフラインで実行できるかどうかはわかりません)。

+0

どのように互換性のあるバージョンを作成しますか? – Siddhesh

0

Windows Phone 7 Mangoは、ローカルデータベースの実行可能なソリューションとしてWindows Phone用のSQL CEを導入しました。 SQL CEエンジンは、4.0バージョンから来ているため、Webシナリオに関連する新しいものすべてがなくても、スマートフォンの使用シナリオには関係ないので、ハイブリッドの一種です。 データベースファイルのバージョンは確かに3.5バージョンです。 コードファーストはマイクロソフトが利用できる唯一のオプションですが、Erik Ejlskov Jensenは非常に便利なVisual StudioアドインをSQL Server Compact Toolboxという名前で作成しており、必要なすべてのクラスでDataContextを構築できるため、Database Firstも無料で利用できます。

関連する問題