3

私はこのようなクラスを持っています:

public class object {
   [Key]
   int number;

   String mystring;

   OtherObject anotherobject;
}

これを RIA 経由で送信すると、Silverlight アプリケーションは object.number と object.mystring を認識できますが、object.anotherobject は認識できません!!! 私は何をすべきか??私を助けてください。

4

3 に答える 3

1

参照されるクラスの[Include]属性を使用して、それらのクラスもシリアル化する必要があることを示す必要があります。

public class Monkey 
{
   [Key]   
   int number;
   String mystring;

   [Include]
   OtherObject anotherobject;
}

これはコードで行うこともできます:

public IQueryable<Monkey> GetMonkeys()
{            
   var Monkey = this.Context.Monkey.Include("Monkey.OtherObject");
   return Monkey;
} 

いくつかの参考文献:

于 2009-09-09T15:40:23.483 に答える
0

オブジェクトの上で[インクルード]と[アソシエーション]を実行する必要があり、アソシエーションパラメータは他のオブジェクト[キー]である必要があります。

また、サーバーからクライアントに送信することはできますが、サーバーにCLientを送信することはできません。これは、RIAがどのように機能するかによって問題が発生するためです。

于 2009-09-30T17:58:45.720 に答える
-1

問題は、OtherObjectシリアライズ可能にする必要があることだと思います。他の 2 つの変数はプリミティブであるため、既にシリアライズ可能です。

例えば:

[DataContract]
public abstract class BarrieHibbertWrapper
{
   [DataMember]
   public string Name { get; set; }
}

参照として追加する必要がSystem.RunTime.Serializationあります。

コードに含めたクラスに対して同じことをしなければならない場合があります。

于 2009-09-09T12:44:19.290 に答える