Ho un progetto MV3 di asp.net utilizzando il codice EF prima. Per il mio test delle unità ho utilizzato SQL Server CE 4.0 e SQL Server 2008 Express. Entrambi hanno funzionato perfettamente con EF generando il mio database come previsto.Come configurare ProviderManifestToken per il codice EF First
Tuttavia, quando faccio funzionare la mia applicazione al di fuori di un test di unità e di puntarlo verso il mio stringhe di connessione ottengo l'errore
ProviderIncompatibleException: Il provider non ha restituito una stringa ProviderManifestToken
I Ho letto la documentazione MS su questo e sembra che questo sia un token SqlVersion
generato dal modello EF. Il problema è che sto usando il primo approccio al codice, quindi non ho il file .edmx
né so dove indirizzare le informazioni sui metadati perché il db non è ancora stato generato.
So che le mie stringhe di connessione per quanto riguarda il nome db, il nome utente e il pass sono corretti perché la loro modifica in valori errati genera l'errore previsto. Non so da dove cominciare.
Grazie.
Qui è la mia stringa di connessione:
<connectionStrings>
<add
name="SqlConnection"
providerName="System.Data.SqlClient"
connectionString="Data Source=WORKSTATION\SQLEXPRESS;Initial Catalog=CodeFirst;Integrated Security=False;
Persist Security Info=False;User ID=CodeFirst_user;Password=password1;Connect Timeout=120;MultipleActiveResultSets=True;"/>
</connectionStrings>
Sei sicuro che la stringa di connessione sia utilizzata? Dovrebbe avere lo stesso nome della classe derivata da DbContext. –
Lo è. Ho trovato qual è il problema. Erano un paio di cose. (1) Il db non dovrebbe essere pre-creato in SqlServer anche se è vuoto. Lascia che EF faccia questo. (2) Dovrebbe essere incluso un nome di catalogo iniziale se non è dichiarato in DbContext. (3) Non riesco a creare il db in Medium Trust. Spero che questo aiuti qualcuno. – trevorc
@nameEquals ... come hai risolto l'articolo 3 sopra? –