我有一個實體類,它的名字是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