次の LINQ to SQL オブジェクトがあります (例)
class Parent{
int id; // primary key
IEnumerable<Child> children;
}
class Child{
int id; // primary key
string field1;
int field2;
}
a をディープ クローンParent
してデータベースに保存する必要がありますが、子のコピーが必要です。つまり、既存の子を参照していません。
私はこのメソッドを使用してクローンを作成しましたが、親と子のプロパティを反復処理するエレガントな方法を探しています(多数の子オブジェクトが存在する可能性があり、1 レベルよりもはるかに深くカスケードしている可能性があります) 。キーを 0に設定して、複製されたオブジェクトをデータベースに送信すると、LINQ to SQL が新しい子を作成します。