RIA POCO中的嵌入对象?

时间:2011-03-28 10:36:59

标签: silverlight entity-framework poco wcf-ria-services

快速提问所有你们所有的银色爱好者..

我需要通过ria服务公开一个自定义的POCO对象..好吧,我可以通过一个vanilla Web服务来做它...所以我不介意你告诉我这样做是非RIA服务

有点像这样:

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的集合,但它不返回的是嵌入对象(猴子)。

即。它返回原语(monthname,id)但不返回自定义对象..

事实上,视觉工作室中的intellisense似乎甚至不知道这个类的属性..

我该怎么办?

由于

丹尼尔

2 个答案:

答案 0 :(得分:1)

您需要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; }
}

查看here类似案例及解释。

另请查看WCF RIA Services and DTO with association了解详情。

答案 1 :(得分:0)

将其移入自己的网络服务中......感觉更干净!