Domanda

Ho un'applicazione web con uno strato di accesso ai dati NHibernate. Ho un gran numero di preferenze degli utenti che possono essere memorizzati, questi sono principalmente booleani, ad esempio registrando che una finestra di dialogo è stato respinto e non deve essere mostrato ancora una volta.

Il problema è che con NHibernate ho bisogno di aggiungere al mio schema del database, e aggiungere una proprietà alla classe persistente ogni volta che una nuova finestra di dialogo si aggiunge a registrare se è stato licenziato o meno.

Ci deve essere un modo più semplice. Di cosa si tratta?

È stato utile?

Soluzione

Un'altra opzione è quella di leggere questo Inserisci da Ayende, sostanzialmente consentendo campi dinamici

  

Un tema comune in molte applicazione è   la necessità di sostenere custom / dinamica   campi. In altre parole, il sistema   amministrazione può decidere che il Cliente   ha bisogno di avere un paio di campi aggiuntivi   che non fanno parte della linea principale   sviluppo.

Anche a leggere l'ultimo commento di Ayende

  
      
  • Si può mettere una collezione in una proprietà dinamica.
  •   
  • È possibile modificare la configurazione programatically
  •   

Modifica Per qualche motivo ho appena realizzato che ho risposto a questa domanda che è più di un anno! Hai idea di come sono arrivato qui! La risposta è ancora una buona uno, però

Altri suggerimenti

Si potrebbe utilizzare una tabella di impostazioni per memorizzare le preferenze e aggiungere un valore per ogni finestra di dialogo:

Impostazioni Tabella Id, UserId, DialogName, Valore

1, 1, FirstDialog, True

2, 1, SecondDialog, False

3, 2, FirstDialog, False

4, 2, SecondDialog, False

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top