0

我正在使用 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;
    }
}
4

0 回答 0