0

.Net Framework 4.0 を使用しています。エンティティ モデル (.edmx) があり、既存のデータベースに接続するか、新しいデータベースを作成するためのメニュー オプションがプログラムに含まれています。ユーザーが新しいデータベースの作成を選択したときに、エンティティ モデルからデータベースとスキーマを生成したいと考えています。どうすればいいですか?

4

2 に答える 2

1

やらないでください。これは v1 製品でのみ機能し、v1.1 のリリースを計画するとすぐに、既存のデプロイされたデータベースを新しいスキーマにアップグレードする方法がないことに気付くでしょう。

代わりに、スクリプトを使用してすべてのオブジェクト (インデックス、リレーション、制約などすべてを含む) を作成し、アップグレード スクリプトを使用して、バージョン管理とデータベースで説明されているように、各スキーマ バージョンを次のバージョンにアップグレードする方法を制御します。

VSDB プロジェクトには差分ベースではありますが、アップグレード機能があるため、ソリューションに Visual Studio データベース プロジェクトを含めることは、より弱い代替手段ですvsdbcmdツールを使用して .dbschema ファイルをデプロイできます。このツールは、既存のスキーマの差分とアップグレードを行うことができます。VSDB プロジェクトの出力は、ビルド変換ステップを介して EF モデルに変換できます (簡単ではありませんが、可能です)。

全体として、スキーマのマスター定義として EF (または Linq) モデリングの魅力に惑わされないでください。後で大きな代償を払うことになります。

于 2010-06-09T23:52:08.723 に答える
0

そこを見てください:方法:概念モデルからデータベースを生成する(エンティティデータモデルツール)

于 2010-06-09T20:51:36.010 に答える