Abbiamo un database con tabelle che utilizzano una gerarchia di ereditarietà. Un'entità nella tabella derivata avrà un ID che corrisponde a un'entità nella tabella di base e così via attraverso la gerarchia.
Abbiamo classi di repository per i tipi / tabelle derivati in modo che tu possa ottenere istanze specifiche per ID. Il problema che abbiamo al momento è che vogliamo la capacità di applicare un comportamento specifico ad alcune entità, ma vogliamo anche un comportamento generico applicato a tutte le entità di base. Sarebbe bene se un cliente potesse trattare una raccolta di entità come entità di base e chiamare semplicemente il metodo per eseguire questa azione su di essa, senza dover conoscere il comportamento specifico.
Quindi il client riceverà dal server una raccolta di entità, incluso il loro ID. Il client chiamerà quindi un metodo sul server con alcuni di questi ID e in qualche modo il server deve essere in grado di stabilire a quali tipi derivati appartengono gli ID.
Ho considerato di lasciare l'ereditarietà della tabella sul posto in modo che i dati non siano duplicati, ma con un tag di "tipo" nella tabella di base. Ciò sta annullando lo scopo della gerarchia dell'eredità?