我有以下 LINQ to SQL 对象(例如)
class Parent{
int id; // primary key
IEnumerable<Child> children;
}
class Child{
int id; // primary key
string field1;
int field2;
}
我需要深度克隆 aParent
并将其保存到数据库中,但要使用孩子的副本,即不引用现有的孩子。
我已经使用这种方法进行克隆,但我正在寻找一种优雅的方式来遍历父属性和子属性(假设可能有大量子对象,级联深度远远超过 1 级)并设置它们的主要键为 0,这样当我将克隆的对象提交到数据库时,LINQ to SQL 会负责创建新的子对象。