Estoy reescribiendo una biblioteca C# en F # en la que la mayoría de las clases se correlacionan individualmente con las tablas de la base de datos (similar a ActiveRecord). Estoy considerando si usar registros o clases (¿incluso DU?). Hay una buena cantidad de validación en los establecedores de propiedades para mantener invariantes. ¿Cuál sería la mejor manera de modelar esto en F #? No quiero que persista en la base de datos un objeto que infringe la lógica comercial. Cualquier idea es bienvenida.Modelado de registros de bases de datos como tipos
Algunas consideraciones adicionales ... ¿Es mejor mover las invariantes a una clase externa de "controlador"? Viniendo de C#, se siente mal permitir que un objeto que corresponde a un registro de la base de datos contenga cualquier cosa que no se pueda guardar en la base de datos. Supongo que porque fallar antes parece mejor que fracasar más tarde.
¿Alguien puede sugerir un enfoque más 'funcional' (o simplemente diferente)? – Daniel