Sto avviando un nuovo progetto e c'è un dibattito interno sul giusto approccio alla scrittura di oggetti in un database.
Le operazioni CRUD richiedono 3 parametri: Gestore DB, Nome DB, Nome raccolta.
Tutti gli oggetti sono derivati da un oggetto BaseEntity (che ha l'Id standard, Tempo di creazione, Tempo di aggiornamento, ecc.)
Il primo approccio consiste nel mettere le operazioni CRUD nella classe BaseEntity. Quindi puoi fare:
var obj = new MyObject() { ... }
obj.Insert(DB, DBName, CollectionName);
Il secondo approccio è creare una classe che controlli le operazioni CRUD:
var collection = new Collection(DB, DBName, CollectionName);
var obj = new MyObject() { ... };
collection.Insert(obj);
Ho il mio metodo preferito (non dire quale) ma quali sono alcuni dei possibili vantaggi / svantaggi di ciascuna soluzione?
La lingua in uso è C # ma non penso che importi davvero.