XMLクラスの逆シリアル化に関して問題が発生しています。XMLはインターフェイスでシリアル化/逆シリアル化されないため、IListにプロキシを使用する必要があります。NHibernateはリストを受け入れず、インターフェースのみを受け入れるため、このプロキシを使用する必要があります。私の問題は、逆シリアル化するときだけです。シリアル化は正常に機能します。
public class EmailCategory
{
[XmlAttribute("Id")]
public virtual long Id { get; set; }
[XmlAttribute("Name")]
public virtual string Name { get; set; }
protected internal virtual IList<EmailBranch> EmailBranches { get; set; }
[XmlArray("EmailBranches")]
[XmlArrayItem("EmailBranch", typeof(EmailBranch)]
public List<EmailBranch> EmailBranchesProxy {
get { return EmailBranches != null ? EmailBranches .ToList() : null; }
set { EmailBranches = value; }
}
}