6

Possiedo una libreria di classi core .NET da cui desidero fare riferimento a Entity Framework 6.1.3. Qui è la mia project.json:Come faccio a fare riferimento a Entity Framework 6 da una libreria di classi core .NET in RC2?

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "NETStandard.Library": "1.5.0-rc2-24027", 
    "EntityFramework": "6.1.3" 
    }, 

    "frameworks": { 
    "netstandard1.5": { 
     "imports": "dnxcore50" 
    } 
    } 
} 

sto ottenendo questo errore di compilazione:

così ho cercato di commutazione la dipendenza NetStandard.Library a Microsoft.NETCore.App in questo modo:

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.NETCore.App": { 
    "version": "1.0.0-rc2-3002702", 
    "type": "platform" 
    }, 
    "EntityFramework": "6.1.3" 
    }, 

    "frameworks": { 
    "netcoreapp1.0": { 
     "imports": [ 
     "dotnet5.6", 
     "dnxcore50", 
     "portable-net45+win8" 
     ] 
    } 
    } 
} 

sto ottenendo un errore di compilazione smilar come in precedenza:

The dependency EntityFramework 6.1.3 does not support framework .NETCoreApp,Version=v1.0

Fondamentalmente, questo mi lascia senza possibilità di fare riferimento a Entity Framework 6.1.3 da .NET core.

Posso consultare EF Core da librerie di classi core .NET, ma non è qualcosa che desidero fare al momento.

C'è una soluzione a questo?

+3

nucleo NET non supporta EF 6. Sia commutare il quadro "net461" (o simili) o utilizzare per EF Nucleo. https://docs.asp.net/it/latest/data/entity-framework-6.html –

risposta

11

Entity Framework 6.1.3 non supporta .NET Core. Questo era parte della motivazione per la creazione di Entity Framework Core. EF 6 ha legami profondi con le API in .NET Framework che potrebbero non essere portate per esistere in .NET Core.

È ancora possibile utilizzare EF6 con progetti "project.json", ma è necessario utilizzare .NET Framework anziché .NET Core.

{ 
    "dependencies": { 
     "EntityFramework": "6.1.3" 
    }, 
    "frameworks": { 
     "net461": { } 
    } 
} 
+0

Grazie! Accetterò questa risposta Ancora una domanda. Cosa significa "NETStandard.Library": "1.5.0-rc2-24027" sotto "dipendenze" significa? E come è diverso da "Microsoft.NETCore.App"? – SirG

+1

@SirG 'NETStandard.Library' è per le librerie (portatili),' Microsoft.NETCore.App' è per le applicazioni (.Net Core). – svick