Встроенный объект в РИА ПОСО? - PullRequest
0 голосов
/ 28 марта 2011

Быстрый вопрос ко всем вашим любителям Silverlight ..

Мне нужно выставить пользовательский объект POCO через сервисы ria. Ну, вроде бы, я мог бы сойти с рук через веб-сервис vanilla ... поэтому я не возражаю, если вы скажете мне сделать это через не РИА сервис

Это немного похоже на это:

public partial class Monkey
{
  // etc..
  // This is an entity framework entity
}

public class MonkeyCollection
{
  // This is the POCO
  public string MonthName { get; set; }
  public Monkey MonkeyForMonth1 { get; set; }
  public Monkey MonkeyForMonth2 { get; set; }

  // Keep RIA services quiet about the lack of a "key"
  [Key]
  public int ID { get; set; }
}

// In my service class
public IEnumerable<MonkeyCollection> GetMonkeys()
{
  // Churn the data like butter
}

Возвращает коллекцию POCO, но не возвращает встроенные объекты (обезьяна).

т.е. он возвращает примитивы (месяц, идентификатор), но не пользовательские объекты ..

И на самом деле intellisense в visual studio даже не знает об этих свойствах в классе.

Что мне делать?

Спасибо

Daniel

Ответы [ 2 ]

1 голос
/ 28 марта 2011

Вам нужен атрибут IncludeAttribute и AssociationAttribute.

public partial class Monkey
{
  // etc..
  // This is an entity framework entity

  // fill this with the ID of the collection
  public ParentMonkeyCollectionId { get; set; } 
}

public class MonkeyCollection
{
    // all the rest ...

    [Include]
    [Association("monkey1", "ID", "ParentMonkeyCollectionId")]
    public Monkey MonkeyForMonth1 { get; set; }

    [Include]
    [Association("monkey2", "ID", "ParentMonkeyCollectionId")]
    public Monkey MonkeyForMonth2 { get; set; }
}

Посмотрите здесь для аналогичного случая и объяснения.

Также проверьте Службы RIA WCF и DTO с ассоциацией для получения более подробной информации.

0 голосов
/ 28 марта 2011

Перемещено в собственный веб-сервис. Чувствуется себя чище!

...