我正在使用T4文本模板生成DTO POCO以用于我的NHibernate域模型。
这些POCO将使用ASMX Web服务发送到客户端(与Mono兼容)但如果我没有XmlIgnore
List<>
属性,我将遇到循环引用。< / p>
有没有办法允许创建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;
}
}