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

Fer*_*min 1 wcf-ria-services

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

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

//myClass.shared.cs
public partial class myClass
{
  public string myProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

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

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

  return theClass;
}
Run Code Online (Sandbox Code Playgroud)

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

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

"类型'myClass'已包含'myProperty'的定义"

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

Fer*_*min 5

没有必要将它放在shared.cs类中.该shared.cs类副本的实际代码到客户端,是添加方法等,但添加新的特性是有用的,所有我需要做的就是添加一个部分类(而不是在myClass.shared.cs)和装饰它与DataMember.

public partial class myClass
{
  [DataMember]
  public string myProperty {get;set;}
}
Run Code Online (Sandbox Code Playgroud)