У меня есть сущность с именем StatusUpdates
. В этом нет самоприсоединения. Однако я хочу включить список InternalStatusUpdates, который имеет тип StatusUpdates
(опять же я бы упомянул, что в базе данных нет самостоятельного соединения). Поэтому я создал частичный класс в том же пространстве имен и создал свойство с именем InternalStatusUpdates и включил в него атрибут [DataMember]
. Но это все еще не появляется на клиенте. Это мой частичный класс, чтобы быть конкретным: -
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Objects.DataClasses;
using System.Runtime.Serialization;
using System.ServiceModel.DomainServices.Server;
using System.ComponentModel.DataAnnotations;
namespace FMT.Data.Web
{
public partial class StatusUpdate : EntityObject
{
private List<StatusUpdate> _internalListStatusUpdates = new List<StatusUpdate>();
[DataMember]
public List<StatusUpdate> InternalListStatusUpdates
{
get { return _internalListStatusUpdates; }
set {
_internalListStatusUpdates = value;
OnPropertyChanged("InternalListStatusUpdates");
}
}
}
}
Интересно, если я поменяю List<StatusUpdate>
на List<string>
, это доступно на клиенте! Как мне решить эту проблему?
Я думал, потому что это тип сущности, который мне нужно будет указать [Include]
. Когда я это сделал, я получаю следующую ошибку: -
Invalid Include specification for member 'StatusUpdate.InternalListStatusUpdates'. Non-projection includes can only be specified on members with the AssociationAttribute applied.
Тогда я выбрал ассоциацию, и теперь моя собственность выглядит так: -
private List<StatusUpdate> _internalListStatusUpdates = new List<StatusUpdate>();
[DataMember]
[Include]
[Association("internalUpdates", "StatusUpdatesId", "StatusUpdatesId")]
public List<StatusUpdate> InternalListStatusUpdates
{
get { return _internalListStatusUpdates; }
set {
_internalListStatusUpdates = value;
OnPropertyChanged("InternalListStatusUpdates");
}
}
, где StatusUpdatesId
- мой первичный ключ в StatusUpdates
Entity, а internalUpdates
- просто произвольное имя. Теперь сборка прошла успешно, и свойство доступно на клиенте, но данные, которые я заполняю с сервера, недоступны на клиенте. Как мне это решить?
Заранее спасибо:)