Я работаю над приложением Silverlight 4.0 и использую службы RIA. Я создал класс на стороне сервера, к которому применены атрибуты DataContract и DataMember.
DomainService предоставляет этот класс как результат запроса и, таким образом, генерирует для него код на клиенте. Но почему-то он не генерирует код для всех свойств класса. Примитивные свойства типа guid, string, int, bool и т. д. генерируются просто отлично, но если у меня есть свойство моего собственного сложного типа, это свойство не создается на клиенте.
Вот класс, о котором идет речь:
[DataContract]
[KnownType(typeof(SummaryGroup))]
public class SummaryDataSet
{
public SummaryDataSet()
{
}
[KeyAttribute]
[DataMember]
public Guid Guid { get; set; }
[DataMember]
public SummaryGroup SummaryGroup { get; set; }
}
Свойство Guid создается на клиенте просто отлично. Свойство SummaryGroup не создается на клиенте. Вот код для SummaryGroup:
[DataContract]
public class SummaryGroup
{
public SummaryGroup()
{
}
[KeyAttribute]
[DataMember]
public Guid Guid { get; set; }
[DataMember]
public string Name { get; set; }
[DataMember]
public int Sequence { get; set; }
}
Оба класса находятся в одном пространстве имен.
Вопрос: почему на клиенте не создается свойство SummaryGroup для SummaryDataSet и что делать, чтобы это исправить?