Estoy intentando utilizar Code First con mi instancia local de Sql Server 2008 R2. Creé un usuario 'dev' y puedo iniciar sesión y crear bases de datos usando Sql Managment Studio. El problema es que sigo recibiendo un mensaje de error cuando intento crear una base de datos usando DbContext en EntityFramework. Aquí está el mensaje de error:Código de Entity Framework Primer error "Error al localizar el servidor/instancia especificada"
"A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified"
El mensaje de error Revisé mi SQL Server y sí permite conexiones remotas.
he abstraído mi sistema con el siguiente código y obtener el mismo error:
namespace CodeFirstConsole
{
public class Program
{
static void Main(string[] args)
{
var db = new MyContext();
try { Console.WriteLine(db.Parents.Count()); }
catch (Exception) { throw; }
Console.Read();
}
}
internal class MyContext : DbContext
{
public DbSet<ParentObject> Parents { get; set; }
public DbSet<ChildObject> Children { get; set; }
public MyContext()
{
this.Database.Connection.ConnectionString =
"Data Source=.;Database=ConsoleTest;Initial Catalog=ConsoleTest;User ID=dev;Password=dev;";
}
}
internal class ParentObject
{
public int Id { get; set; }
public string PropertyOne { get; set; }
}
internal class ChildObject
{
public int Id { get; set; }
public bool PropertyOne { get; set; }
public string PropertyTwo { get; set; }
public virtual ParentObject Parent { get; set; }
}
internal class MyInitializer : DropCreateDatabaseAlways<MyContext>
{
protected override void Seed(MyContext context)
{
context.Parents.Add(new ParentObject() { PropertyOne = "hi" });
base.Seed(context);
}
}
}
Ha intentado especificar explícitamente el origen de datos, sé que si lo deja en blanco, cree que es el mismo equipo, pero intente ponerlo en su lugar y vea si obtiene los mismos resultados. –
Sí, lo he especificado explícitamente en mi ejemplo cuando configuré la cadena de conexión. –
Simplemente comprobando obviamente que el código anterior que ha escrito también se encuentra en el equipo SQL Server al que se está conectando, ¿no? Solo revisando. –