No beh diciamo che in C++ si usavano le strutture perchè quelle c' erano.
Di norma un Dominio (Insieme di Classi che rappresentano i dati) è composto appunto da Classi, Collection<T> o List o quel che vuoi tu per enumerarle e rappresentarle in forma di tabelle e cosi' via.
Ci sono molti libri a riguardo, cerca argomenti che trattano il Domain Model, e vedrai che ti si apre un nuovo mondo.
Comunque io ti consiglio di usare classi per rappresentare i dati, cosi' che iil tutto resta molto ordinato e leggibile, e poi usi un ORM (LinQ, NHibernate) per scrivere e leggere dal Db e popolare queste classi con i dati, cosi' che tu lavori solamente con le classi.