Fino a EF5, al fine di connettersi a SQL Server 2012, tutto quello che dovevo a è specificare una stringa di connessione che sembra qualcosa di simile:connessione a SQL Server con EF6
Data Source=.\SqlExpress;Initial Catalog=MyDatabase;Integrated security=True;MultipleActiveResultSets=True
Questo metodo non funziona con EF6, con l'eccezione
Nessun provider di framework Entità trovato per il provider ADO.NET "System.Data.Odbc". Assicurarsi che il prestatore sia iscritto nella sezione 'EntityFramework' del file di configurazione dell'applicazione
non sto usando app.config
di file a tutti, sto passando sopra stringa di connessione al costruttore myContext. Perché sta tentando di utilizzare il provider Odbc e invece di non utilizzare System.Data.SqlClient?
Cosa è necessario fare per connettersi a SQL Server con codice EF6 prima? Mi sono assicurato che EntityFramework.dll e EntityFramework.SqlServer.dll siano entrambi disponibili nella cartella dell'applicazione. Ho anche aggiunto il pacchetto nuget EF6 v6.0.0.1 nel progetto WPF, sebbene non usi direttamente la libreria EF, e assicurandomi che il file App.Config creato automaticamente (da nuget) sia copiato nella cartella Application (Debug) - ancora no successo.
Ho anche cercato di setprovider manualmente nel codice:
public class OeeCoachConfiguration : DbConfiguration
{
public OeeCoachConfiguration()
{
SetProviderServices("System.Data.SqlClient",
System.Data.Entity.SqlServer.SqlProviderServices.Instance);
}
}
Ancora senza successo. La mia struttura del progetto è (semplificato) come segue:
progetto WPF - non ha riferimento alla EF (provato anche l'aggiunta di riferimento EF)
libreria di classi ViewModel - non ha riferimento ad EF
classe del modello libreria - ha riferimento alla libreria EF (entrambe le DLL)
Libreria di classi di dati - fa riferimento alla libreria UI (entrambe le DLL).
Sto utilizzando l'approccio CodeFirst e questa configurazione funziona senza problemi con EF5. Qualsiasi aiuto è molto apprezzato.
Non ho alcun controllo di terze parti correlato a ADO (o EF). – Goran
La stringa di connessione specifica un fornitore? – taylonr
No, la mia stringa di connessione è esattamente come ho scritto in questione. – Goran