Entity Framework 7 scaffold DbContext

asp.net asp.net-core c# entity-framework entity-framework-core

Domanda

Sto cercando di generare un DbContext per una struttura di database esistente utilizzando ASP.NET 5 e Entity Framework 7. Non sorprende che non ci sia molta documentazione su come farlo facilmente. Inoltre, voglio impalcare SOLO il contesto; ci sono ~ 900 tabelle e mi interessa solo alcune di esse, non ho bisogno di una classe di modello per ognuna.

Ho usato i comandi specificati qui e qui con poca fortuna.

Quindi, suppongo di avere due domande:

  1. Dove si trovano i file di contesto generati? Eseguo il comando nel prompt dei comandi senza errori, ma non succede nient'altro. So di essere almeno nel posto giusto in quanto posso aggiungere il vecchio modello EF6 con proprietà non supportate e mi dà un errore che non sono supportati.

  2. È possibile generare solo un contesto senza classi di modelli corrispondenti?

Risposta popolare

Ho avuto lo stesso problema con il mio progetto che genera il contesto e i modelli. Ecco alcune cose che ho fatto.

Aggiornamenti per 1.0 RC1 di seguito

Project.json

  "dependencies": {
    "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
    "EntityFramework.Commands": "7.0.0-rc1-final",
    "EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final"
  },

  "commands": {
    "ef": "EntityFramework.Commands"
  },

  "frameworks": {
    "dnx451": { },
    "dnxcore50": { }
  }

Comando DNX

dnx ef dbcontext scaffold "connectionString" EntityFramework.MicrosoftSqlServer

Post originale qui sotto

Assicurati che questi siano aggiunti al tuo file project.json:

"dependencies": {
    "EntityFramework.SqlServer": "7.0.0-beta7",
    "EntityFramework.Commands": "7.0.0-beta7",
    "EntityFramework.SqlServer.Design": "7.0.0-beta7"
},
"commands": {
    "ef": "EntityFramework.Commands"
}

Esegui l'upgrade di dnvm e dei dnx runtime anche usando l'aggiornamento dnvm update-self e dnvm . Ho eseguito questo in cmd.

Aperto cmd.exe nel percorso del progetto (se ci si trova in Windows, accedere alla cartella e spostare + clic con il tasto destro del mouse nella cartella e fare clic su "Apri finestra di comando qui"). Nel mio caso ho avuto un progetto separato per il mio Data Access Layer ad es.

C:\Projects\Stackoverflow Example\src\StackoverflowExample.DAL\

Ho quindi semplificato eseguito:

dnx ef dbcontext scaffold "Data Source = .; Initial Catalogue = database; Integrated Security = True" EntityFramework.SqlServer

Assicurati che il tuo progetto possa costruire. Se ci sono errori, i comandi probabilmente non funzioneranno.

Ha generato tutti i modelli e il contesto (con l'installazione OnModelCreating () di ciascuna entità). Se non hai bisogno di tutti i modelli, elimina quelli che non stai utilizzando.

Quindi per rispondere alle tue domande:

  1. Crea i modelli e il contesto nella cartella in cui hai eseguito lo scaffold dnx ef dbcontext.
  2. Non vedo alcun comando che ti permetta di farlo ancora. Esegui dnx ef --help in cmd e cerca te stesso. dnx ef

Spero che aiuti.



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché