さて、私はこのような構造を持っています(これを適切にフォーマットする方法はわかりませんが、試してみます):
- テーブルの場所、には、が含まれ
id, name
ますaddress
。 - テーブルルーム
id, name, size
。場所への外部キーが含まれています。 - テーブルRoomItem(テーブル、椅子などを考えてください)には
id, name, type, value
、部屋への外部キーが含まれています。
したがって、この構造を使用して、12の部屋と100の部屋アイテムがある場所を設定したとします。ここで、新しい場所を作成したいのですが、新しい場所のテンプレートとまったく同じ部屋と部屋アイテムが必要です。したがって、基本的には、特定の場所を指すすべての部屋をコピーしてFKを新しい場所に変更し、その部屋を指すすべての部屋アイテムをコピーして、新しく作成された部屋を指すようにFKを変更します。
Entity Framework 4.3を使用していますが、標準のc#winformsプロジェクトから実行可能なものであればすべて問題なく動作します。
そして私の問題は、これを「適切に」行う方法を見つけることです。すべてを手動で行うのは非常に面倒なようです。つまり、部屋を1つずつ確認し、すべてのフィールドをコピーして新しいフィールドを作成し、最初の部屋を保存した後、部屋のアイテムを深く掘り下げてコピーするようなものです。利用可能なID。
これを書き出すことでさえかなり混乱しているように聞こえますが、これを達成するためのより良い方法はありますか?