我正在开发 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; }
}
两个类都在同一个命名空间中。
问题:为什么没有在客户端创建 SummaryDataSet 的 SummaryGroup 属性,我应该如何解决这个问题?