私はこのedmxモデル(以下を参照)を持っており、赤い線で示されているようにからに追加の関連付けを追加したいのですOrder
がWorker
*-1
、問題は、データベースにワイプしたくないデータがすでにたくさんあるということです。テーブルを再作成せずにこれを追加するには?
2 に答える
最初にEntityDesignerを使用したからといって、毎回データベースを完全に再作成する必要があるわけではありません。
変更したモデルからSQLを生成すると、新しい関係を参照している部分を簡単に見つけることができるはずです。これは、データベースに対して実行する必要がある唯一の部分です。データベースを独自のファイルに分割するだけです。疑わしい場合は、古いSQLファイルのコピーを保存し、関係を追加し、新しいファイルを生成して、確実に差分を作成してください。
あるいは、EFがデータと関係をどのように表すかをよく理解している場合は、データベースを手動で変更できます。データベースとモデルが正確にコヒーレントである限り、EFはデータベースがどのようにそのようになったかを実際には気にしません。
EFに開発環境で新しいデータベースを作成させ、データベース差分を使用させるだけです。古いデータベースから新しいデータベースに変更スクリプトを取得するためのツール。VS2010PremiumおよびUltimateにはこの差分が含まれています。ツールであり、データベース生成ツールのパワーパックをインストールすると、EDMXデザイナーから直接使用することもできます。
もう1つの人気のある差分ツールは、たとえばRedGateによるSQLCompareです。