XML 클래스의 역 직렬화과 관련된 문제가 있습니다. XML이 인터페이스에서 직렬화/비 직렬화되지 않기 때문에 IList에 프록시를 사용해야합니다. NHibernate가 List를 받아들이지 않고 인터페이스 만 받아들이 기 때문에이 프록시를 사용해야합니다. 내 문제는 deserializing 때만입니다. 직렬화가 정상적으로 작동합니다.Xml 프록시를 사용하여 deserialization
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; }
}
}
데이터 계약/DTO 클래스를 만든 다음 오토 마퍼 또는 수동 매핑 코드를 사용하는 것이 좋습니다. 일반적으로 수행하려고하는 것과 같은 데이터베이스 객체를 사용하는 것은 나쁜 습관으로 간주됩니다. – Alistair
제목을 편집했습니다. "[제목에"태그 "가 포함되어 있어야합니까?] (http://meta.stackexchange.com/questions/19190/)"합의가 "아니오, 그렇지 않아야합니다"로 표시되어야합니다. –