Пользовательский класс с сущностью и RIA Services / Silverlight - PullRequest
1 голос
/ 02 февраля 2012

У меня есть класс с похожим на это:

[DataContract]
public class TestBatchWithHistoryResult
{
    [Key]
    [DataMember]
    public int Id { get; set; }
    [DataMember]
    public string Name { get; set; }
    [DataMember]
    public string Description { get; set; }
    [DataMember]
    public string LastRequestedBy { get; set; }
    [DataMember]
    public DateTime? LastRun { get; set; }
    [DataMember]
    public Collection<string> LastConfigurations { get; set; }
    [DataMember]
    public TestBatch Entity { get; set; }
}

Когда я строю веб-сайт и проект Silverlight и обнаруживаю, что свойство Entity не создается в «автоматически сгенерированном» коде на стороне Silverlight, но все остальные свойства присутствуют.

Что может помешать созданию свойства Entity?

Спасибо

Майкл

Ответы [ 2 ]

0 голосов
/ 16 августа 2012

Чтобы дочерние сущности создавались на стороне клиента, вам необходим метод обслуживания, который отображает этот тип сущности на стороне сервера, например:

public IQueryable<TestBatch> GetTestBatches(){}

И вам также необходимо иметь атрибут Include в свойстве:

[Include]
public TestBatch Entity {get; set;}
0 голосов
/ 02 февраля 2012

Если на контракт с данными не ссылается ни одна из ваших служб, он не будет представлен. Только ссылочные контракты данных генерируются. Если на него нет ссылки, но оно должно быть (т. Е. Если это тип, унаследованный от того, который возвращается и будет возвращен в какой-то момент), используйте ServiceKnowTypeAttribute, чтобы объявить его в начале вашего сервисного контракта.

...