Entity Framework – Generazione di classi

Ho un database esistente. Speravo ci fosse un modo per generare file di class da questo database. Tuttavia, mi sembra di vedere un sacco di generare il database dai file di class.

C’è un modo per generare file di class da un database esistente usando Entity Framework? Se é cosi, come? Qualcuno può indicarmi un tutorial?

1) Per prima cosa devi generare EDMX modello EDMX usando il tuo database. Per fare ciò dovresti aggiungere un nuovo elemento al tuo progetto:

  • Selezionare il ADO.NET Entity Data Model dall’elenco Modelli.
  • Nella pagina Scegli modello, selezionare l’opzione Genera dal database e fare clic su Avanti.
  • Scegli il tuo database.
  • Nella pagina Scegli gli oggetti del database, controlla le tabelle. Scegli Views o Stored Procedure se ti serve.

Quindi ora hai il file Model1.edmx nel tuo progetto.

2) Per generare classi usando il tuo modello:

  • Apri il tuo modello di progettazione EDMX .
  • Sulla superficie di progettazione Fare clic con il pulsante destro del mouse -> Aggiungi elemento di generazione del codice …
  • Seleziona i modelli online.
  • Selezionare EF 4.x DbContext Generator for C# .
  • Clicca ‘Aggiungi’.

Si noti che due elementi vengono aggiunti al progetto:

  • Model1.tt (questo modello genera classi POCO molto semplici per ogni quadro nel modello)
  • Model1.Context.tt (questo modello genera un DbContext derivato da utilizzare per query e dati persistenti)

3) Esempio di dati di lettura / scrittura:

  var dbContext = new YourModelClass(); //class derived from DbContext var contacts = from c in dbContext.Contacts select c; //read data contacts.FirstOrDefault().FirstName = "Alex"; //edit data dbContext.SaveChanges(); //save data to DB 

Non dimenticare che hai bisogno della versione 4.x di EntityFramework. È ansible scaricare EF 4.1 qui: Entity Framework 4.1 .

Ho trovato una soluzione molto bella. Microsoft ha rilasciato una versione beta di Power Tools di Entity Framework: Power Tools di Entity Framework Beta 2

Qui è ansible generare classi POCO, derivate DbContext e Code First per il mapping di un database esistente in alcuni clic. È molto carino!

Dopo l’installazione alcune opzioni del menu contestuale verranno aggiunte a Visual Studio.

Fare clic con il tasto destro su un progetto C #. Scegli Entity Framework-> Reverse Engineer Code First (Genera classi POCO, derivate DbContext e Code First per un database esistente):

Menu contestuale di Visual Studio

Quindi scegli il tuo database e clicca OK. È tutto! È molto facile.

  1. Apri il modello EDMX
  2. Fare clic con il tasto destro del mouse -> Aggiorna modello dal browser -> Stored procedure -> selezionare la stored procedure -> Fine
  3. Vedi il Navigatore modelli che si apre accanto a Esplora soluzioni.
  4. Vai a Function Imports -> Fai clic con il tasto destro del mouse su Stored Procedure -> Aggiungi Function Import
  5. Seleziona le quadro sotto Restituzione di una raccolta di -> Seleziona il nome della tua entity framework dal menu a discesa
  6. Costruisci la tua soluzione.

Il modello EDMX non funziona con EF7 ma ho trovato un prodotto Community / Professional che sembra molto potente: http://www.devart.com/entitydeveloper/editions.html