我正在使用 T4 文本模板来生成 DTO POCO,以用于我的 NHibernate 域模型。
这些 POCO 将使用 ASMX Web 服务(与 Mono 兼容)发送到客户端,但如果我不XmlIgnore
使用这些List<>
属性,我将遇到循环引用。
有没有办法允许创建 POCO,以便循环引用仍然存在于客户端,但是当通过 Web 服务传递时,引用被忽略。
也许是习惯XmlSerializer
?Mono 对 WCF 的支持不够,无法使用。
public partial class UserDTO
{
public System.Guid ID
{
get;
set;
}
public System.String Username
{
get;
set;
}
public System.String Password
{
get;
set;
}
[XmlIgnore]
public List<InspectionDTO> Inspections
{
get;
//internal set;
set;
}
public ContactDTO Contact
{
get;
set;
}
public OrganisationDTO Organisation
{
get;
set;
}
[XmlIgnore]
public List<RoleDTO> Roles
{
get;
//internal set;
set;
}
}
public partial class ContactDTO
{
public System.Guid ID
{
get;
set;
}
public System.String FirstName
{
get;
set;
}
public System.String LastName
{
get;
set;
}
[XmlIgnore]
public List<AddressDTO> Addresses
{
get;
//internal set;
set;
}
[XmlIgnore]
public List<EmailDTO> Emails
{
get;
//internal set;
set;
}
[XmlIgnore]
public List<UserDTO> Users
{
get;
//internal set;
set;
}
[XmlIgnore]
public List<PhoneDTO> Phones
{
get;
//internal set;
set;
}
}