Sto riscrivendo una libreria C# in F # in cui la maggior parte delle classi esegue il mapping one-to-one con le tabelle del database (simile a ActiveRecord). Sto valutando se utilizzare record o classi (forse anche DU?). C'è una buona dose di convalida nei setter per mantenere invarianti. Quale sarebbe il modo migliore per modellare questo in F #? Non desidero che un oggetto che vìola la logica aziendale venga mantenuto nel database. Tutte le idee sono benvenute.Record di modellazione del database come tipi
Alcuni pensieri aggiuntivi ... È meglio spostare gli invarianti in una classe 'controller' esterna? Provenendo da C#, è sbagliato consentire a un oggetto che corrisponde a un record del database di contenere tutto ciò che non può essere salvato nel database. Suppongo perché fallire prima sembra meglio che fallire più tardi.
Qualcuno può suggerire un approccio più 'funzionali'(o semplicemente diverso)? – Daniel