0

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

Dictionary<int, Parent> database;

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

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

1 回答 1

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);
于 2012-09-15T16:29:17.477 回答