Я пытаюсь найти «лучший» способ реализации гибкой модели сущностей служб данных SQL , где каждый класс может храниться как сущность, даже классы с производными данными.
Пример: каждый подкласс имеет разные
string Id
string Kind
Dictionary<string, object> Properties
Пока что я иду в направлении наличия класса Entity (с вышеприведенным) и базового класса, который имеет некоторую коллекцию, такую как
Dictionary<string, Entity> data
И пусть каждый подкласс добавляется в этот словарь и просто получает / устанавливает свойства, такие как
data["EntityKind"].Properties["PropertyName"]
Однако, поскольку у каждого класса есть только ОДНА сущность, кажется, что я должен использовать какой-то стек (intead of Dictionary), где каждый уровень иерархии точно знает, где он находится. Затем мне пришло в голову, что наследование классов - это стек, поэтому я подумал, что, может быть, мне просто не хватает какой-то огромной концепции ОО, которая действительно упростит все это. Что-то вроде
abstract eachsubclassmusthaveitsown Entity entity