我正在使用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尝试了field而不是属性
我试过>>>object<<< FieldValue { get; set; } (NOT ARRAY), IEnumerable<object>
...
结果相同。
使用WCF我可以做到。
对于前者我在我的wcf服务(for sharepoint)中签了这份合同
[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; }
}
在服务实现中我可以从sharepoint列表中读取数据填充我的POCO并返回客户端。之后,我可以通过生成的代理方法在客户端检索POCO,并将(unbox)对象解包为实际类型(工作方式为String / Uri / DateTime)。我需要与RIA这样做。