【发布时间】:2012-06-13 14:25:57
【问题描述】:
我正在使用 Ria 服务, 我的 POCO 对象具有简单的对象属性/字段。但它们并没有出现在客户端。 请帮忙, 我的 POCO:
[EnableClientAccess]
[DataContract]
public class DataRow
{
[DataMember]
[Key]
public int RowId { get; set; }
[DataMember] public >>>object[]<<< FieldValue { get; set; };
public DataRow()
{
}
}
我尝试使用 getter/setter 代替字段属性
我试过>>>object<<< FieldValue { get; set; } (NOT ARRAY), IEnumerable<object> ...
结果相同。
使用 WCF 我可以做到。
例如。我的 wcf 服务中有这份合同(用于共享点)
[DataContract]
public class SPFieldValueStub
{
//[DataMember]
//public virtual int ListItemIndex { get; set; }
[DataMember]
public virtual object Raw { get; set; }
[DataMember]
public virtual object Formatted { get; set; }
[DataMember]
public virtual IEnumerable<SPFieldValueStub> References { get; set; }
[DataMember]
public virtual IEnumerable<object> Properties { get; set; }
[DataMember]
public virtual SPFieldStub Field { get; set; }
}
[DataContract]
public class SPListItemStub
{
[DataMember]
public virtual IEnumerable<SPFieldValueStub> Values { get; set; }
}
在服务实现中,我可以从共享点列表中读取数据填充我的 POCO 并返回给客户端。之后,我可以通过生成的代理方法在客户端检索 POCO,并将对象解包(拆箱)为真实类型(适用于我的 String/Uri/DateTime)。我需要通过 RIA 这样做。
【问题讨论】:
标签: wcf silverlight poco ria