Ria サービスを使用しています。私の POCO オブジェクトには単純なオブジェクト プロパティ/フィールドがあります。しかし、それらはクライアント側には表示されません。助けてください、私のPOCO:
[EnableClientAccess]
[DataContract]
public class DataRow
{
[DataMember]
[Key]
public int RowId { get; set; }
[DataMember] public >>>object[]<<< FieldValue { get; set; };
public DataRow()
{
}
}
試したゲッター/セッターでフィールドの代わりにプロパティを試しました>>>object<<< FieldValue { get; set; } (NOT ARRAY), IEnumerable<object>
...同じ結果。
WCF を使用して、私はそれを行うことができます。たとえば。私は自分のwcfサービスでこの契約を結んでいます(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 を取得し、オブジェクトを実際の型にアンラップ (ボックス化解除) できます (文字列/Uri/DateTime で動作します)。RIAでそうする必要があります。