Pregunta

Tengo una aplicación web con una capa de acceso a datos NHibernate. He un gran número de preferencias de los usuarios, que pueden almacenarse, estos son principalmente booleanos, por ejemplo, registrando un cuadro de diálogo que ha sido despedido y no debe ser mostrado de nuevo.

El problema es que con NHibernate tengo que añadir a mi esquema de base de datos, y añadir un alojamiento a la clase persistente cada vez que se añade un nuevo cuadro de diálogo para registrar si se ha descartado o no.

Tiene que haber una manera más fácil. ¿Qué es?

¿Fue útil?

Solución

Otra opción es leer esta poner por Ayende, básicamente permitiendo campos dinámicos

  

Un tema común en muchas aplicaciones es   la necesidad de apoyar la costumbre / dinámico   campos. En otras palabras, el sistema   administrador puede decidir que el cliente   tiene que tener unos campos adicionales   que no forman parte de la línea principal   desarrollo.

También leer el último comentario de Ayende

  
      
  • Usted puede poner una colección de una propiedad dinámica.
  •   
  • Puede editar la configuración mediante programación
  •   

Editar Por alguna razón, simplemente me he dado cuenta que he respondido a esta pregunta que es más de un año! ¿Tienes idea de cómo llegué aquí! Respuesta sigue siendo un buen año, aunque

Otros consejos

Se puede utilizar una tabla para almacenar la configuración de las preferencias y añadir un valor para cada diálogo:

ajustes de la tabla ID, ID de usuario, DialogName, Valor

1, 1, FirstDialog, True

2, 1, SecondDialog, False

3, 2, FirstDialog, False

4, 2, SecondDialog, False

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top