Entity Framework Code Prima implementazione del database centralizzata

2

Originariamente ho postato questo su overflow dello stack, ma mi è stato detto che qui è un posto migliore per chiedere questo genere di cose. Non sono riuscito a trovare altre risposte simili, ma se ce n'è una per favore dammi un link.

Sto sviluppando un software che utilizza un database ospitato su un server principale (MSSQL). Più client possono essere connessi allo stesso server in qualsiasi momento. Sto utilizzando Entity Framework con l'approccio Code-First.

La mia preoccupazione è il modo in cui il database verrà distribuito e successivamente aggiornato. Dal momento che stiamo parlando di un database centralizzato, la migrazione automatica del database eseguita da uno qualsiasi dei client è fuori questione a mio avviso. Stavo pensando di utilizzare un'app di configurazione del server separata che si connetterà al server (database) ed eseguirà la creazione del database (solo la prima volta) e la migrazione quando necessario.

Anche il motivo per cui penso che la migrazione automatica del database non possa funzionare nel mio caso è che ogni volta che un client viene eseguito, controlla se c'è una migrazione disponibile per il database e se lo è, lo applicherà. Ciò, tuttavia, potrebbe causare problemi ad altri client che non sono ancora stati aggiornati. Ecco perché penso che dovrebbe esserci un'app di configurazione che aggiorna il database indipendentemente da qualsiasi client.

Pensi che questo sia un buon modo per risolvere il problema o ce n'è uno migliore?

    
posta Phoenix 04.11.2014 - 08:12
fonte

1 risposta

1

Ehi, so che è passato un po 'di tempo da quando l'ho postato, ma ho notato che ci sono ancora persone interessate alla risposta, quindi ho pensato che dovevo aggiornarmi con ciò che avevo scelto.

Ho deciso di utilizzare un servizio WCF auto-ospitato al quale i client si connettono e ricevono i loro dati. Il servizio è responsabile della creazione e della migrazione del database e notifica inoltre ai client se devono essere aggiornati per potersi connettere.

Penso che questa sia la soluzione migliore per il mio caso.

    
risposta data 25.03.2015 - 01:22
fonte

Leggi altre domande sui tag