0

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でそうする必要があります。

4

1 に答える 1

0

Objectフィールドが含まれていないためです。

于 2012-06-13T14:27:15.070 に答える