Sto lavorando a un nuovo progetto e voglio farlo utilizzando l'ultimo .NET Core.
Leggendo la documentazione, mi sono imbattuto nel confronto tra Entity Framework Core e Entity Framework 6.x Comparison. Qui
Alcune delle funzionalità richieste sono le seguenti: Spatial Data Type
NON è supportato da EF Core. Quindi NON POSSO usarlo, perché nel Progetto è richiesto il tipo di dati spaziali.
Passando nuovamente nella documentazione, ho trovato questo link su Come usare EF 6.x con .NET Core: Qui
Nell'articolo menziona ( qui ):
Prima di iniziare, assicurati di compilare la versione completa di .NET Framework in project.json poiché Entity Framework 6 non supporta .NET Core. Se sono necessarie funzionalità multipiattaforma, è necessario eseguire l'aggiornamento a Entity Framework Core.
Non ho davvero bisogno che il mio progetto sia multipiattaforma.
Ho creato una nuova ASP.NET Core Web Application
quindi ho installato EF6 usando Nuget Package Manager e ho ricevuto il seguente errore
Sono andato e rimosso netcoreapp1.0
dai framework in project.json
e aggiunto net46
come framework, che ha rimosso l'errore per EF, ma ora sto ottenendo un altro errore.
Quindi, come posso utilizzare EF6 con core ASP.NET?
Quando uso EF6 devo rimuovere tutti i riferimenti a .NET Core, vuol dire che non sto usando .NET Core? Quali sono gli svantaggi di questo diverso da quello che non può essere eseguito su più piattaforme?
Per interrompere il secondo errore è necessario rimuovere quanto segue dalla sezione delle dependencies
del project.json
:
"Microsoft.NETCore.App": {
"version": "1.0.0",
"type": "platform"
}
Per riferimento, la documentazione per il riferimento completo di .NET Framework e Entity Framework 6 da un progetto ASP.NET Core ha un esempio project.json
completo.
La rimozione dei riferimenti a .NET Core non significa che non si stia utilizzando Core ASP.NET. Si sta solo modificando la piattaforma di runtime di destinazione su cui verrà eseguito il progetto ASP.NET Core.
Utilizzando ASP.NET Core con .NET Framework completo, ottieni i vantaggi della nuova struttura del progetto e della storia unificata per la creazione di interfacce utente Web e API Web (ad esempio, una classe Controller
unificata) e ottieni anche l'accesso alla versione completa e completa .NET Framework, abilita l'uso di dipendenze e pacchetti NuGet che non sono stati portati su .NET Core, ad esempio Entity Framework 6.