Sto tentando di utilizzare Code First con la mia istanza locale di Sql Server 2008 R2. Ho creato un utente "dev" e posso accedere e creare database usando Sql Managment Studio. Il problema è che continuo a ricevere un messaggio di errore quando provo a creare un database usando DbContext in EntityFramework. Ecco il messaggio di errore:Primo codice oggetto Entità Errore "Individuazione errore server/istanza specificata"
"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"
Il messaggio di errore Ho controllato il mio server Sql e consente connessioni remote.
ho avulse mio sistema con il seguente codice e ottenere lo stesso errore:
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);
}
}
}
Avete provato a specificare esplicitamente l'origine dati, so che se lo lasciate vuoto pensa che sia la stessa macchina ma provate a inserirla e modi e vedere se ottenete gli stessi risultati. –
Sì, l'ho specificato esplicitamente nel mio esempio quando imposto la stringa di connessione. –
Basta controllare, ovviamente, che il codice sopra che hai scritto si trovi anche sulla macchina SQL Server che stai collegando a destra? Solo controllando. –