我的实体框架模型中有一个存储过程。我添加了一个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'“的定义
如何让它将域服务中设置的值返回给客户端?
答案 0 :(得分:5)
没有必要将它放在shared.cs类中。 shared.cs类将实际代码复制到客户端,对于添加方法等非常有用,但是为了添加新属性,我所要做的就是添加一个部分类(不在myClass.shared.cs中)并装饰它与DataMember。
public partial class myClass
{
[DataMember]
public string myProperty {get;set;}
}