Я использую текстовый шаблон T4 для создания DOC POCO для использования в моей модели домена NHibernate.
Эти POCO должны отправляться клиенту с использованием веб-служб ASMX (для совместимости с Mono), но еслиЯ не XmlIgnore
свойства List<>
, я буду сталкиваться с круговой ссылкой.
Есть ли способ разрешить создание POCO так, чтобы круговая ссылка все еще существовала на стороне клиента, нопри передаче через веб-сервис ссылка игнорируется.
Может быть, пользовательская XmlSerializer
?WCF недостаточно поддерживается в Mono для использования.
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;
}
}