T4 テキスト テンプレートを使用して、NHibernate ドメイン モデルに対して使用する DTO POCO を生成しています。
これらの POCO は、ASMX Web サービス (Mono と互換性があるため) を使用してクライアントに送信されますがXmlIgnore
、List<>
プロパティがない場合、循環参照に遭遇します。
循環参照がクライアント側に存在するように 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;
}
}