6

Visual Studioデータベースプロジェクトを始めたばかりで、それを使用して作成できるデータ生成プランが大好きです。ただし、私のプロジェクトの1つでは、ルックアップテーブルに特定の値を入力する必要があります。ルックアップテーブルと別のテーブルの間に外部キー関係が存在するため、プランから他のテーブルを削除せずに、データ生成プランからルックアップテーブルを削除することはできません。しかし、他のテーブルのデータを生成できません。

a)ルックアップテーブルにデータを追加するときにジェネレーターが使用する正確なデータを指定する、またはb)ジェネレーターに新しい値をテーブルに追加せず、代わりに既存の値を使用させるにはどうすればよいですか?

ありがとう!

4

2 に答える 2

4

これは、Visual Studio 2008 での一貫性のあるデータ生成に関する私の見解です。

Visual Studio 2008 Data Edition のデータ生成ツールは、単体テストで使用する意味のない情報をデータベースに入力するための優れたツールですが、統合テストを行う場合は、データ生成計画で一貫性のあるデータセットを再作成することが重要になることがよくあります。キー テーブル (C# または VB.Net ソリューションで Enum としてミラーリングされることが多い外部キーで使用されるルックアップ テーブルなど)。幸いなことに、データ生成ツールには、シーケンシャル データ バインド ジェネレーターが含まれています。このジェネレーターは、指定されたデータ ソースからレコードを選択し、その結果を使用してテーブルに入力します。

では、これをどのように利用するのでしょうか。私たちのデータベース ソリューションには、2 つのデータベースが含まれています。実際に取り組んでいるデータベースと、データ生成データベースです。一貫して入力する必要があるテーブルについては、データ生成データベースにスキーマとテーブルを複製し (インデックス/キー/制約/トリガーなどを除く)、そのデータベースのデプロイ後スクリプトを使用して目的のレコードを作成します。 . populate スクリプトの重複を減らすために、実際のデータベースの配置後スクリプトは、相対パスによって datagenration populate スクリプトを指します。これはまた、データベースを展開したばかりであるか、データ生成計画を実行しただけであるかに関係なく、これらのテーブルには同じレコードが含まれることを意味します。これにより、チームの全員にとって作業が楽になります。

詳細はこちら

于 2010-02-12T20:49:41.220 に答える
1

これはかなり古いですが、ルックアップ テーブルで列数を 0 に設定するだけで、既存のデータは削除しないでください。

于 2011-06-01T01:18:20.533 に答える