Ho una soluzione di progetto pulita (pensata per essere un'app MVC .NET Core)
Ho due richieste: Home.CorePoC.EntityModel e Home.CorePoC.Model Sto chiamando dotnet cli da Home.CorePoC.Model.
L'idea è che voglio le classi parziali e la separazione logica dagli attributi e dagli attributi personalizzati dal database.
Voglio scrivere uno script PowerShell che chiamerò quando voglio aggiungere / rimuovere alcune tabelle, colonne nelle tabelle, ecc.
Nella CLI dotnet quando aggiungo inizialmente le tabelle, funziona perfettamente:
Scaffold-DbContext "Server=sqlServ2016;Database=TestDb;Persist Security
Info=False;User ID=admin;Password=admin;" Microsoft.EntityFrameworkCore.SqlServer
-Tables "Table1","Table2","Table3" -ContextDir "..\Home.CorePoC.EntityModel"
-OutputDir "TestDB" -force -DataAnnotations -UseDatabaseNames
Ora, quando voglio aggiungere solo più tabelle, funziona anche ma ho un messaggio di errore: "Impossibile aggiungere" Table4 ". C'è già un file collegato in questa cartella con lo stesso nome." Inoltre, ottengo errore nella console cli:
Exception calling "AddFromFile" with "1" argument(s): "A drag operation is already in progress (Exception from HRESULT: 0x80040103)"
Devo cancellare tutti i file e quindi ricrearlo (file collegato TestContext.cs creato inizialmente) o esiste un modo diverso per evitare questo messaggio di errore che non è critico (ho aggiunto con successo Table4 ai miei modelli).
Sto pianificando di inserire questa istruzione nello script PowerShell che verrà chiamato dalla cartella del progetto (dove ho installato nuget Microsoft.EntityFrameworkCore.Tools (2.1.4))
Questo perché proverà ad aggiungere il file di Context
per Table4
ma non è in grado di farlo come esiste già. Esiste già una richiesta di funzionalità per aggiornare gli scaffold di Entity Framework Core anziché doverli ricreare ogni volta. Dovresti sovrascrivere le entità generate ogni volta usando il flag -Force