将自定义属性添加到从WCF RIA Services返回的对象

时间:2010-09-23 10:33:58

标签: wcf-ria-services

我的实体框架模型中有一个存储过程。我添加了一个Function Import并将结果映射到Complex Type。

我想为此Complex类型添加一个额外的属性,我将填充在我的域服务中,而不是从存储过程返回。我添加了一个myClass.shared.cs文件并实现了添加属性,如:

//myClass.shared.cs
public partial class myClass
{
  public string myProperty {get;set;}
}

当我返回对象时,我在我的域服务中填充此内容,例如:

public myClass GetMyClass(int myClassID)
{
  myClass theClass= this.ObjectContext.StoredProc(myClassID).FirstOrDefault();
  class.myProperty = 12345;

  return theClass;
}

当我在客户端获得此方法的返回值时,theClass.myProperty始终为null但是存储过程中的所有值都已填充,我是否遗漏了某些内容?

我尝试使用[DataMember]属性修饰myProperty,但这会引发错误:

  

“类型'myClass'已经包含了一个   'myProperty'“的定义

如何让它将域服务中设置的值返回给客户端?

1 个答案:

答案 0 :(得分:5)

没有必要将它放在shared.cs类中。 shared.cs类将实际代码复制到客户端,对于添加方法等非常有用,但是为了添加新属性,我所要做的就是添加一个部分类(不在myClass.shared.cs中)并装饰它与DataMember。

public partial class myClass
{
  [DataMember]
  public string myProperty {get;set;}
}