So che le domande su questo problema sono già state poste dozzine di volte (le ho lette tutte), ma sono ancora senza soluzione. La maggior parte si occupa di problemi che possono verificarsi con la progettazione in codice, ma sto facendo il modello prima.
Conosco EF e ho altri modelli funzionanti nella mia soluzione.
Problema :
Ogni DbSet <> nel mio contesto genera il seguente errore durante l'accesso:
"Un'eccezione di tipo ' System.InvalidOperationException ' si è verificata in EntityFramework.dll ma non è stata gestita nel codice utente
Informazioni aggiuntive: il tipo di entità xxx non fa parte del modello per il contesto corrente . "
Come ho creato il modello:
Stringa di connessione:
<add name="Stratus_X_TestEntities" connectionString="metadata=res://*/PartsServiceModel.csdl|res://*/PartsServiceModel.ssdl|res://*/PartsServiceModel.msl;provider=System.Data.SqlClient;provider connection string="data source=Stratus;initial catalog=StratusX;persist security info=True;user id=user;password=password;multipleactiveresultsets=True;App=EntityFramework"" providerName="System.Data.EntityClient" />
Questa stringa di connessione è la stessa della stringa di conenction da una diversa (e funzionante!) .Edmx nella mia soluzione.
Uso:
using (var ObjectContext = new TestEntities())
{
return ObjectContext.AccountingType.ToList();
}
TestEntities è DbContext. Qualsiasi tentativo di accedere a ObjectContext.AccountingType o a qualsiasi altro DbSet <> provoca l'errore.
Cose che ho controllato:
Qualcuno può pensare a qualcos'altro da provare / controllare ??
Grazie
Sono anche nuovo di EF e .NET, ma penso che per impostazione predefinita EF cercherà una stringa di connessione con lo stesso nome del nome della classe del contesto , quindi, potrebbe essere, se cambi il nome della stringa di connessione in " TestEntities " , potrebbe fare il trucco.