我有一个实体类,它的名字是Person。 Person实体有一个Asset实体的列表。如何将对象列表从实体复制到另一个实体
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public IList<Asset> Assets { get; set;}
}
例如我有两个人(person1 & person2)。我需要将资产清单从person1复制到person2。我这样做如下代码:
Person person1 = LoadById(1);
Person person2 = LoadById(2);
// person2.Assets = person1.Assets; // Is it correct?
foreach(Asset item in person1.Assets)
{
//person2.Assets.Add(item);
Asset asset = new Asset();
asset.Title = item.Title;
asset.Description = item.Description;
asset.Person = person2;
person2.Add(asset);
}
person2.Update();
有一个更好的方法来做到这一点?
这会将相同的项目引用添加到第二个列表中。如果这不是所需的行为,则必须在将项目添加到资产列表之前克隆/深入克隆该项目。 – Dennis 2011-12-21 11:24:19
@丹尼斯如何使用克隆? – Ehsan 2011-12-21 13:56:23
这一个是伟大的:http://stackoverflow.com/questions/78536/cloning-objects-in-c-sharp – Dennis 2011-12-21 14:09:42