嘿伙计我需要包含多个子对象的数据库。我正在考虑创建一个字典,其中键是一个int,表示它是哪种类型的孩子,然后第二个字段是父对象。这样想我可以将任何子对象添加到Dictionary中,但我似乎无法让它工作?关于如何正确地做到这一点的任何想法?
Dictionary<int, Parent> database;
ChildOne newChildOne = new ChildOne();
ChildTwo newChildTwo = new ChildTwo();
database.Add(1, newChildOne);
database.Add(2, newChildTwo);
答案 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);