Существует ловушка между объектным миром и сущностно-реляционными данными (ER). Его называют Несоответствие объектно-реляционного импеданса . По сути, это означает, что вам необходимо «сопоставить» концепты объекта с концепциями реляционной базы данных, которые называются объектно-реляционным отображением (ORM).
Пример полиморфизма: производный класс не является понятием ER, поэтому необходимо сказать, например, что все атрибуты всех объектов, принадлежащих к одному и тому же классу, будут храниться в одной таблице со всеми атрибутами «родителей»
ИЛИ производный класс (объект) будет храниться в той же таблице, что и абстрактный класс, из которого он получен.
Вероятно, было бы лучше использовать ORM, поддерживаемый сообществом, но когда мотивы верны, ваша компания может выиграть, имея собственное решение ORM.
В нашей компании мы разработали собственное решение ORM (началось 6 лет назад, поэтому оно было написано на c ++, а модельер был приложением для рабочего стола Windows). Но теперь мы, вероятно, будем использовать ADO.NET Entity Framework («старший» брат LINQ) или другой поддерживаемый ORM