Добавление пользовательского свойства к объекту, возвращенному из служб WCF RIA - PullRequest
1 голос
/ 23 сентября 2010

У меня есть хранимая процедура в моей модели Entity Framework. Я добавил функцию Import и сопоставил результаты со сложным типом.

Я хочу добавить дополнительное свойство к этому типу Complex, которое я буду заполнять в своей доменной службе, а не возвращать из хранимой процедуры. Я добавил файл myClass.shared.cs и реализовал добавленное свойство следующим образом:

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

Я заполняю это в своей доменной службе, когда возвращаю объект, например ::10000

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

  return theClass;
}

Когда я получаю возвращаемые значения этого метода на стороне клиента, theClass.myProperty всегда имеет значение null, но все значения из хранимой процедуры заполнены, я что-то упустил?

Я пытался украсить myProperty атрибутом [DataMember], но это выдает ошибку:

"Тип 'myClass' уже содержит определение для 'myProperty' "

Как я могу получить это, чтобы вернуть клиенту значение, установленное в доменной службе?

1 Ответ

5 голосов
/ 24 сентября 2010

Нет необходимости помещать это в класс shared.cs.Класс shared.cs копирует реальный код на клиентскую сторону и полезен для добавления методов и т. Д., Но для добавления нового свойства мне нужно было только добавить частичный класс (НЕ в myClass.shared.cs) и декорироватьэто с DataMember.

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