如何在NHibernate中克隆对象?

akr*_*nov 11 .net c# nhibernate serialization

如何在NHibernate中实现克隆的对象(实体)?每个实体类都有这样的属性:

public virtual IList<Club> Clubs { get; set; }
Run Code Online (Sandbox Code Playgroud)

此外,实体类继承BaseObject.我尝试使用XML序列化来实现解决方案,但是不可能序列化接口.

谢谢您的回答!

akr*_*nov 15

AutoMapper http://automapper.codeplex.com/解决了我的问题.例如,可以通过下一种方式克隆业务对象:

Mapper.CreateMap<Transaction, Transaction>();
var newtransact = new Transaction();
Mapper.Map(transact, newtransact);
Run Code Online (Sandbox Code Playgroud)

  • 您将希望使用`Mapper.CreateMap <Transaction,Transaction>().ForMember(d => d.Id,o => o.Ignore());`并使用以下内容手动复制IList属性来排除Id属性: `newtransact.Clubs = this.Clubs.Select(item => item.Clone()).ToList();` - 请参阅:http://stackoverflow.com/questions/3396808/ (3认同)