WCF ria服务返回复杂类型的列表

时间:2011-07-21 06:11:09

标签: c# silverlight wcf-ria-services

我有一个复杂的类型实体

public class ComplexEntity : ComplexObject
{
private int _ID;
private string _Name;
private int _ParentID;

[Key]
[DataMember]
public int ID { get;set;}

[DataMember]
public string Name {get;set;}

[DataMember]
public int ParentID {get;set;}

}

和另一个

[DataContract]
public class ComplexEntitiesList : ComplexObject
{
[DataMember]
[Include]
[Association("CEntities_CEntity","ID","ParentID")]
public List<CompelxEntity> List {get;set;}

[Key]
[DataMember]
public int ID {get;set;}

public int LKEntitiesList()
{
List = new List<LKEntity>;
}

和方法:

[Invoke]
public ComplexEntitiesList GetPS()
{
return new ComplexEntitiesList() { List = /*..some logic*/});
}

在服务器端,一切都很完美,但是客户端的列表是空的 有线索吗? }

1 个答案:

答案 0 :(得分:3)

我认为Include不适用于Invoke-Operations。看看silverlight.net上的this问题,看看Colin Blairs的回答。你的方法GetPs()应该返回一个包含你的复杂对象的普通集合(也就是.List)。

[Invoke]
public IEnumerable<ComplexEntity> GetPS() {
  return new List<ComplexEntity>() { /*..some logic*/});
}