Sto utilizzando VS 2012 e EF 5. Ho un database esistente che voglio creare classi POCO dal database esistente. Ho seguito i passaggi per aggiungere un modello di dati di entità ADO.NET al mio progetto. Ho seguito la procedura guidata per utilizzare un database esistente. Ha quindi creato i file edmx e tt con il designer aperto. Tuttavia, voglio creare gli oggetti POCO e usarli. Il sito di Microsoft afferma che il generatore di Entity Framework di POCO è obsoleto e dovrei usare il generatore di DBContext. Non riesco a capire i passaggi che uso per generare le classi POCO. Vedo solo il designer edmx. Non voglio nemmeno un file edmx, ma solo classi POCO. Come posso ottenere le classi POCO da creare da un database esistente utilizzando EF 5 e VS 2012?Entity Framework 5 - Come generare classi POCO dal database esistente
risposta
Usa EF 5.x DbContext Fluent Generator
È possibile aggiungere da modelli on-line:
- Genera edmx dal database esistente
- Select
Add New Item
- ricerca online per i modelli POCO
- Aggiungere EF 5.x DbContext Fluent Generator
Si aggiungerà tre modelli T4 al progetto:
- XXX.Context.tt - contesto ereditato dal DbContext
- XXX.Entities.tt - entità POCO
- XXX. Mappings.tt - mappature FLUENT per ogni entità
MA è necessario impostare manualmente il percorso del modello di dati edmx. Ciascuno di questi modelli ha la linea string inputFile = @"$edmxInputFile$";
. È necessario fornire nome del file di edmx qui:
string inputFile = @"Northwind.edmx";
Grazie per l'informazione. Ho aggiunto i modelli ma non è stato generato alcun codice. Ho modificato tutti loro per correggere $ edmxInputFile $ ma non succede nulla. Ho fatto clic con il tasto destro su ciascuno di essi e ho fatto clic su Esegui strumento personalizzato. Cosa mi manca? – user31673
@ user31673 in realtà non è necessario alcuno strumento personalizzato. Basta salvare il modello modificato e genererà automaticamente il file di output (sarà sotto il nodo del modello) –
Ah, un'altra cosa: cancella il contesto e le entità generate con il file edmx. Hai bisogno solo di diagrammi. –
Il processo per fare questo è abbastanza snella ora, sembra. I passaggi dalla risposta accettata sono ora facilmente eseguibili dal progettista EDMX stesso. In sostanza,
- generare il modello (edmx) da un database esistente con l'aggiunta di ADO.NET Entity Data Model al progetto (vedi here per maggiori dettagli),
- e poi
Aprire il file .edmx in Entity Designer.
Fare clic con il pulsante destro del mouse su un'area vuota sulla superficie di Entity Designer e puntare su Aggiungi elemento di generazione del codice.
Nella finestra di dialogo Aggiungi nuovo elemento, selezionare Modelli online e digitare DBContext nella casella di testo Cerca modelli online.
Selezionare la versione appropriata per il modello (5.0, se si desidera targetizzare Entity Framework 5.0).
Fare clic su OK.
Questo farà tutto il lavoro, a quanto pare. Le istruzioni qui citate si riferiscono ai modelli online come installazione EF 5.x DbContext Fluent Generator è richiesto. Se è già installato, non è necessario cercarlo nei modelli online ma nei modelli installati.
Per ulteriori informazioni è possibile controllare la pagina this, sezione "Per utilizzare il modello di generatore DbContext per generare il codice del livello dell'oggetto".
- 1. Come generare proxy POCO da un database esistente
- 2. Classi di Entity Framework rispetto a POCO
- 3. Classi basate su Entity Framework POCO Vs?
- 4. Come generare classi POCO di Entity Framework 6.x con mapping da un file EDMX?
- 5. Entity Framework 5 Remove() non cancellato dal database
- 6. Entity Framework + POCO
- 7. Come generare un modello dal database esistente in Sails JS?
- 8. Entity framework POCO
- 9. Aggiunta di attributi alle classi generate dal database Entity Framework
- 10. Strumento per generare POCO/DTO dal database (SQL Server)
- 11. parametrizzate POCO Costruttori con Entity Framework
- 12. Entity Framework 4/POCO - Da dove cominciare?
- 13. Gestisci Entity Framework su Crea POCO
- 14. Entity Framework POCO Change Tracking Strategies
- 15. Entity Framework: aggiorna gli oggetti dal database
- 16. Stop Entity Framework dal database di modifica
- 17. Come è possibile generare a livello di codice classi Entity Framework da un database?
- 18. Il modello di aggiornamento di Entity Framework 5 dal database non genera la classe di tabella
- 19. Come posso ricollegare con garbo una struttura POCO di Entity Framework 5 e salvarla?
- 20. Entity Framework POCO costruttore di default
- 21. Entity Framework 4 POCO con dizionario
- 22. Che cos'è POCO in Entity Framework?
- 23. Entity Framework: aggiunta di un POCO figlio esistente a un nuovo padre POCO, crea un nuovo figlio in DB
- 24. Entity Framework 5 code-first non crea il database
- 25. LoadProperty in Entity Framework 5
- 26. Entity Framework 5 Code First - Come "ricominciare"?
- 27. Entity framework code first migration strategy with database esistente
- 28. Come generare oggetto @Entities dal database?
- 29. Entità Framework 5 POCO non inclusi in TFS?
- 30. Esiste un generatore di POCO basato su Database 7 di Entity Framework?
VS2012 genera le entità POCO e DbContext per impostazione predefinita. Non funziona per te? – Pawel