我正在尝试提出实现SQL 数据服务灵活实体模型的“最佳”方法,其中每个类都可以存储为实体,甚至是派生类。
示例:每个子类都有不同的
string Id
string Kind
Dictionary<string, object> Properties
到目前为止,我正朝着同时拥有实体类(如上)和具有某种集合的基类的方向前进,例如
Dictionary<string, Entity> data
并让每个子类添加到该字典中,然后获取/设置属性,例如
data["EntityKind"].Properties["PropertyName"]
但是,由于每个类只有一个实体,所以似乎我应该使用某种堆栈(而不是字典),其中层次结构的每一级都知道它在哪里。然后我想到类继承就是堆栈,所以我想也许我只是错过了一些可以真正简化所有这些的巨大的 OO 概念。就像是
abstract eachsubclassmusthaveitsown Entity entity