0

T4 テキスト テンプレートを使用して、NHibernate ドメイン モデルに対して使用する DTO POCO を生成しています。

これらの POCO は、ASMX Web サービス (Mono と互換性があるため) を使用してクライアントに送信されますがXmlIgnoreList<>プロパティがない場合、循環参照に遭遇します。

循環参照がクライアント側に存在するように POCO を作成できるようにする方法はありますが、Web サービスを介して渡されると参照は無視されます。

多分習慣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;
    }
}
4

0 に答える 0