7

状況:データベーススキーマが、システムの情報の理想的な表現とは見なされない場合があり、それを変更できない場合があります。私たちはEntityFrameworkを使用して、このような状況でコーディングするためのより優れた概念モデルを作成してきました。これは、データベースからモデルを更新してから、デザイナーを介して、またはテキストエディターを使用して.edmxファイルを介して直接モデルを変更することを意味します。

問題:データベースからモデルを更新すると、慎重に行ったすべての変更がウィンドウから外されます。これにより、基本的に.edmxファイルを直接編集する必要があるため、新しいエンティティを追加するのが非常に面倒になる可能性があります。

質問:データベースから選択したエンティティのみを更新するようにEntity Frameworkを取得する方法はありますか?または、新しいエンティティを追加するときにモデルの残りの部分をそのままにしておくように指示することはできますか?

ありがとう!

4

2 に答える 2

5

組み込みのデザイナを使用して選択的な更新を行う方法はありません。また、デザイナーはすべての変更を破棄するわけではありません。通常、概念モデル(一部の関連付けの名前を継続的に変更するまれな場合を除く)やマッピングには影響しませんが、常にストレージモデルを削除し、新しい定義でオーバーライドします。概念モデルの変更、データベースからの更新のマッピングと実行に問題なく取り組みました。

Designerは、Visual Studioの他の機能と同じように機能します。生成されたコード(ストレージモデル)に触れることはサポートされていない機能です。これを実行すると、データベースからの更新を使用できなくなります。

より良いモデルの更新をおそらくサポートする商用ツールがあります-あなたは試用することができます。

于 2011-06-10T07:20:09.207 に答える
1

選択したエンティティを更新することで、1つ以上のテーブルを意味する場合、モデルからそれらのテーブルを削除し、それらを個別に追加して、個別に選択することで変更テーブルを取り込むことができます-基になるテーブルが変更されるときに頻繁に行います(特に開発中)。

エンティティ/テーブルがモデルにプルされた後、それらの再追加されたエンティティに行った手動の変更は失われます(つまり、ナビゲーションプロパティの名前を変更することが多く、テーブルを再インポートするたびに手動で名前を変更する必要があります)また)。

于 2011-06-10T11:54:23.230 に答える