通过RIA服务发送包含的对象

时间:2009-09-09 12:14:37

标签: .net silverlight ria wcf-ria-services

我有这样的课程:

public class object {
   [Key]
   int number;

   String mystring;

   OtherObject anotherobject;
}

当我通过RIA发送此信息时,我的silverlight应用程序可以看到object.number和object.mystring,但不是object.anotherobject! 我该怎么办??请帮帮我。

3 个答案:

答案 0 :(得分: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;
} 

一些参考文献:

答案 1 :(得分:0)

你需要在对象上面做[Include]和[Association],关联参数需要是其他对象[Key]

此外,您可以从服务器发送到客户端,但不能发送到服务器,这就是RIA如何工作导致它很糟糕

答案 2 :(得分:-1)

我认为问题在于您必须使OtherObject可序列化。另外两个变量是基元,因此它们已经可序列化。

例如:

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

您必须添加System.RunTime.Serialization作为参考。

您可能需要对代码中包含的类执行相同的操作。