visual studio net mvc migrations framework first espaƱol asp entity-framework asp.net-mvc-4

studio - Entity Framework UnintentionalCodeFirstException



migrations asp net mvc (2)

Tengo un proyecto de MVC 4 configurado y generé todas las clases de modelo usando Entity Framework. Luego agregué una clase y la llamé igual a la clase "MyProjectEntities" y la hice parcial para poder agregar métodos personalizados en esa clase. Agregué muchos métodos para consultar la base de datos en esta clase y se compila muy bien. Cuando llamo a estos métodos, obtengo UnintentionalCodeFirstException. No estoy seguro de qué hice mal?


Debe proporcionar la cadena de conexión correcta. No solo las cadenas de tipo "Fuente de datos =" normales.

Tendrás una cadena de conexión que comienza con "metadata =" en tu archivo de configuración, usa esa.


También puede transformar la cadena de conexión simple en una cadena de conexión de primera base de datos:

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(); }

Antecedentes: en mi proyecto había muchas cadenas de conexión y queríamos mantenerlas simples y comparables.