Ho un progetto MVC 4 impostato e generato tutte le classi del modello utilizzando Entity Framework. Poi ho aggiunto una classe e l'ho denominata come "MyProjectEntities" e l'ho resa parziale, così posso aggiungere metodi personalizzati in quella classe. Ho aggiunto un sacco di metodi per interrogare il database in questa classe e va bene. Quando chiamo questi metodi però ottengo UnintentionalCodeFirstException. Non sono sicuro di cosa ho fatto di sbagliato?Entity Framework UnintentionalCodeFirstException
30
A
risposta
53
È necessario fornire la stringa di connessione corretta. Non solo le normali stringhe di tipo "Data Source =".
Si avrà una stringa di connessione che inizia con "metadata =" nel file di configurazione, utilizzare quello.
6
Si può anche trasformare la stringa di connessione semplice a una stringa di connessione al database-prima:
public static string BuildEntityConnectionStringFromAppSettings(string nameOfConnectionString)
{
var shortConnectionString = GetConnectionStringByName(nameOfConnectionString);
// Specify the provider name, server and database.
string providerName = "System.Data.SqlClient";
// Initialize the connection string builder for the
// underlying provider taking the short connection string.
SqlConnectionStringBuilder sqlBuilder =
new SqlConnectionStringBuilder(shortConnectionString);
// Set the properties for the data source.
sqlBuilder.IntegratedSecurity = false;
// Build the SqlConnection connection string.
string providerString = sqlBuilder.ToString();
// Initialize the EntityConnectionStringBuilder.
EntityConnectionStringBuilder entityBuilder =
new EntityConnectionStringBuilder();
//Set the provider name.
entityBuilder.Provider = providerName;
// Set the provider-specific connection string.
entityBuilder.ProviderConnectionString = providerString;
// Set the Metadata location.
entityBuilder.Metadata = String.Format("res://*/Application.{0}.Data.Model.{0}Model.csdl|res://*/Application.{0}.Data.Model.{0}Model.ssdl|res://*/Application.{0}.Data.Model.{0}Model.msl", nameOfConnectionString);
return entityBuilder.ToString();
}
Background: nel mio progetto c'erano molte stringhe di connessione e abbiamo voluto tenerli semplici e confrontabili.
Problemi correlati
- 1. Entity Framework ObjectContext riutilizzo
- 2. HiLO per Entity Framework
- 3. Entity Framework + distribuzione SQLite
- 4. Entity Framework + POCO
- 5. Entity Framework Merge Nightmare
- 6. Entity Framework TypeUsage Oggetto
- 7. autoreferenziale con Entity Framework
- 8. Entity Framework ObjectQuery.Include()
- 9. Gestisci Entity Framework OptimisticConcurrencyException
- 10. SqlBulkCopy ed Entity Framework
- 11. Entity Framework e parallelismo
- 12. Entity Framework includono Dove
- 13. Winforms Entity Framework
- 14. Timeout predefinito Entity Framework
- 15. Mock AsNoTracking Entity Framework
- 16. Entity Framework Filter Index
- 17. paging in Entity Framework
- 18. Entity Framework OfType()
- 19. Entity framework PostgreSQL
- 20. Aggiornamento Entity Modello Framework
- 21. Entity Framework Performance Issue
- 22. Entity Framework circolare Riferimento
- 23. Unicode con Entity Framework
- 24. Entity Framework oggetto null
- 25. Entity Framework senza database
- 26. Parallelismo e Entity Framework
- 27. Entity Framework e DbSet
- 28. SQLite con Entity Framework
- 29. Convenzioni Framework Entity 4
- 30. Views and Entity Framework