2012-04-05 8 views
0

私は最近Entity Frameworkを学ぶための新しい個人プロジェクトを開始しました。私の最終目標は、データ管理にSQLコンパクトを使用し、ゲームオブジェクトにEntity Frameworkを使用するデスクトップゲームを作成することです。実際には、EFを始めるための複数の方法があることを実際には知っていませんでした(モデル第一、コード第一、dbファースト)。C#Entity Framework - モデルファーストデザインによる破壊的なAutogen DBスクリプトの処理

私はそれをうまくやっていますが、特に開発後のことが気になります。このゲームの私の目標は、ユーザーが既存のデータを失うことなく最新のバージョンに更新できることです。現在の問題は、すべての生成スクリプトが本質的に破壊的である(すべてを削除してから再作成する)ことです。つまり、SQLCE DBを「生産」で実行することはできません。そのため、代替計画を策定する必要があります行動の

つまり、誰もベストプラクティスについての推奨ソリューションを持っていますか?以前のデスクトップアプリケーションでは、従来、XML /バイナリを使ってデータを保存していました。既存のデータに影響を与えずに簡単に "スキーマ"を更新できます(バージョンによってLoad()を調整し、 )常に最新バージョンで保存されます)。

SQLCEを使用してこの問題を処理する際の推奨事項は何ですか?

答えて

2

あなたが必要とするものは、正しく理解されていれば、EFに付属の移行を利用することです。質問が一般的であるので、このリンクは最高のあなたが必要な場合は、手動で調整(とで適用されるコードの形で来ることができるの移行で...あなたは私が考える必要があるものに

http://blogs.msdn.com/b/adonet/archive/2012/02/09/ef-4-3-code-based-migrations-walkthrough.aspx

をご案内しなければなりません必要に応じてあなたの「シード」を供給することもできます。
つまり、古い互換性のないデータを削除、削除、削除して新しいものを作成することができ、特定の移行手順に関連するすべてのことができるはずです。

これはあなたのアプリのデプロイメントと具体的にはどちらかというと少し複雑ですが、これが始まるはずです。そして、dbバージョンの変更ごとに、新しいコードの更新には以前の更新(または、通常は1つだけで十分です。つまり、更新ごとに1つにしてください)とコードを分解したり、新しいものを作成したりしてください。

これが役に立ちます。

関連する問題