У меня есть иерархическая структура базы данных с базовой таблицей и несколькими дочерними таблицами:
Base: {ID, Date, ...}
ChildA: {ID, Color, ...}
ChildB: {ID, Age, ...}
Каждая дочерняя таблица имеет идентификатор, который является внешним ключом для Base.ID;поэтому каждый дочерний элемент связан с идентификатором, который также находится в Base.
Теперь у меня есть ситуация, в которой у меня есть список идентификаторов, и я хочу выяснить, к каким дочерним таблицам они фактически принадлежат. Каков наилучший способ определения дочерней таблицы данного идентификатора?
Я хотел бы иметь функцию, которая возвращает тип из идентификатора: Type TypeFromBaseID(int baseID)
Я могу придумать два способа сделать это, но я надеюсь, что есть лучший способ:
A) Просто добавьте столбец в Base, в котором будет храниться имя таблицы его дочерней таблицы
B) иметь серию операторов if, которые делают что-то вроде db.ChildA.Any(x=>x.ID == baseID)