Quali sono i vantaggi dell'utilizzo del codice dell'entità prima del codice invece di progettare il mio database utilizzando SQL?

3

Attualmente sto lavorando alla progettazione di una piccola applicazione web (MVC5) e sono al punto di progettare il mio database. Ho lo schema che voglio risolto e sono abbastanza abile in SQL Server. (Ho il mio SQL 2012 MCSA.) Userò l'entity framework 6 come mio ORM. Sono stato molto interessato all'approccio code-first perché non sono un grande fan dei designer e mi piace essere in grado di vedere e lavorare con il codice da solo.

Dato che le mie capacità SQL sono piuttosto forti, sono incline a creare lo schema da solo e scrivere le mie query CREATE TABLE , ecc. Credo che questo mi dia un maggiore controllo sulla creazione di vincoli e indici.

Ma in passato non ho lavorato molto con il framework delle entità, quindi potrei esserci dei vantaggi che mi mancano. So che puoi fare code-first su un database esistente in EF6 in ogni caso, quindi questa sarebbe un'altra opzione.

Ho provato a googling un po 'e leggendo MSDN ma la maggior parte dei benefici sembra essere che non devi preoccuparti di SQL. Dal momento che non è una mia preoccupazione, non vedo il vantaggio di consentire al framework di entità di creare il mio schema.

Ci sono dei vantaggi nel permettere al framework di entità di creare il mio database che mi manca?

    
posta Mike D. 05.09.2014 - 04:15
fonte

1 risposta

4

Il più grande vantaggio a mio avviso è che ti consente di concentrarti sulla progettazione del modello, non sul database utilizzato per memorizzarlo.

Questo rende le cose come la separazione delle preoccupazioni, ecc. più facile come il tuo approccio mentale sta già facendo questo vedendo le entità come semplici classi, non come tabelle di database.

Naturalmente, puoi sempre usare l'API Fluent e le annotazioni dei dati per modificare lo schema del database generato laddove necessario e, una volta sistemati, puoi attivare le migrazioni e usarlo per generare la coperta di comfort che è script SQL (in una buona modo!) per l'implementazione e la gestione dello schema in futuro.

    
risposta data 05.09.2014 - 10:43
fonte

Leggi altre domande sui tag