通过ria服务发送自定义DTO

时间:2010-07-01 15:37:56

标签: silverlight soap wcf-ria-services

您好我通过ria服务上课。 班级看起来像

    [DataContract]
public partial class AttributeNode
{
    [DataMember]
    [Key]
    public int Uid { get; set; }

    public AttributeNode()
    {
        this.Children = new List<String>();
    }

    private String text;

    [DataMember]
    public String Text
    {
        get
        {
            return text;
        }
        set
        {
            text = value;
            this.Uid = text.GetHashCode();
        }
    }

    [DataMember]
    [Include]
    [Association("AttributeNode_AttributeNode", "Uid", "Uid")]
    public List<AttributeNode> Children { get; set; }

    public void AddChild(AttributeNode child)
    {
        this.Children.Add(child);
    }
}

问题在于,当我将对象转发给客户端时,它并不正常。它始终是一个儿童包含自己。问题在同一类型的列表上。帮助

TNX !!

1 个答案:

答案 0 :(得分:2)

我想这是某种父子树结构。

Association标签用于表示“this key”和“other key”。

您的AttributeNode类需要Id属性来告知其父级。

你需要

[Key]
public int Uid { get; set; }
public int ParentUid { get; set; }


[Include]
[Association("AttributeNode_AttributeNode", "Uid", "ParentUid")]
public List<AttributeNode> Children { get; set; }