父母词典,添加孩子

时间:2012-09-15 16:15:27

标签: c# dictionary

嘿伙计我需要包含多个子对象的数据库。我正在考虑创建一个字典,其中键是一个int,表示它是哪种类型的孩子,然后第二个字段是父对象。这样想我可以将任何子对象添加到Dictionary中,但我似乎无法让它工作?关于如何正确地做到这一点的任何想法?

Dictionary<int, Parent> database;

ChildOne newChildOne = new ChildOne();
ChildTwo newChildTwo = new ChildTwo();

database.Add(1, newChildOne); 
database.Add(2, newChildTwo);

1 个答案:

答案 0 :(得分:0)

你不需要字典来保持父子关系。 只需创建一个可以保持这种关系的类:

public class MyEntity
{
    public MyEntity(int entityId, MyEntity parent)
    {
        this.Children = new List<MyEntity>();
        this.EntityId = entityId;
        this.Parent = parent;
        this.Parent.Children.Add(this);
    }

    public int EntityId { get; set; }

    public MyEntity Parent { get; set; }

    public List<MyEntity> Children { get; set; }
}

然后创建这种关系:

        MyEntity topParent = new MyEntity(1,null);
        MyEntity childOnLevel1 = new MyEntity(7,topParent);
        MyEntity childOnLevel2 = new MyEntity(4, childOnLevel1);