如果您尝试在数据库模式中创建域对象,并且在您的代码中说域对象具有哈希表/列表成员,如下所示:
public class SpaceQuadrant : PersistentObject
{
public SpaceQuadrant()
{
}
public virtual Dictionary<SpaceCoordinate, SpaceObject> Space
{
get;
set;
}
}
字典只是一个将对象键映射到值键的哈希表/列表,我想出了多种方法来做到这一点,创建各种连接表或加载技术,但它们在获得 O(1) 方面都很糟糕您在哈希表中获得的访问时间。
您将如何在数据库模式中表示 SpaceQuadrant、SpaceCoordinate 和 Space Object?一个简单的模式代码描述会很好,即。
table SpaceQuadrant
{
ID int not null primary key,
EntryName varchar(255) not null,
SpaceQuadrantJoinTableId int not null
foreign key references ...anothertable...
}
但任何想法都会很好,谢谢阅读!
更多信息:
感谢您提供的出色答案,我只是略读了它们,我想在回复之前花一些时间思考每个问题。
如果你认为有更好的方法来定义这些类,那么一定要给我一个例子,你喜欢的任何语言都很酷