¿Cómo puedo decirle a EF qué el nombre de la base de datos y donde colocarlo?
Si no hay ninguna cadena de conexión en el Web.Config, intenta ponerlo en el local SQLEXPRESS Servidor, pero quiero ponerlo en un conocido de SQL Server y el nombre es lo que yo quiero. Alguna sugerencia?
Respuestas
¿Demasiados anuncios?Cómo Utilizar una Cadena de Conexión Distinta Nombre con EF
EF utilizará el nombre de la base de datos en la cadena de conexión. Cuando se desea separar el nombre de su cadena de conexión EF, usted necesitará proporcionar su cadena de conexión para el constructor. Ejemplo:
public class DatabaseContext : DbContext
{
public DatabaseContext()
: base(ApplicationParameters.ConnectionStringName)
{
}
public DatabaseContext(string connectionStringName)
: base(connectionStringName)
{
}
}
en Clase :
public class Context : DbContext
{
//SET CONNECTION STRING NAME FOR DataBase Name :
public Context() : base("YourConnectionName") { }
public DbSet<Category> Categories { get; set; }
public DbSet<Product> Products { get; set; }
}
en web.config:
<connectionStrings>
<add name="YourConnectionName" connectionString="Data Source=A-PC\SQLEXPRESS;
Initial Catalog=MyDataBase; Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Gracias ferventcoder.
Ref => http://brandonclapp.com/connection-strings-with-entity-framework-5-code-first/
Si el punto de su cadena de conexión a una base de datos existente, a continuación, EF "el primer código" no intentar crear uno de forma automática.
EF "el primer código" utiliza una convención donde el contexto de las clases por defecto busca una cadena de conexión que tiene el mismo nombre que la clase de contexto.
El uso de ef code first con una base de datos existente