Я пытаюсь использовать Code First с моим локальным экземпляром Sql Server 2008 R2. Я создаю пользовательский "dev" и могу входить в систему и создавать базы данных с помощью Sql Managment Studio. Проблема в том, что я продолжаю получать сообщение об ошибке при попытке создать базу данных с использованием DbContext в EntityFramework. Вот сообщение об ошибке:
"Возникла ошибка, связанная с сетью или конкретным экземпляром, в то время как установление соединения с SQL Server. Сервер не найден или был недоступен. Проверьте правильность имени экземпляра и SQL Server настроен для удаленного подключения. SQL Network Interfaces, ошибка: 26 - Ошибка определения местоположения сервера/экземпляра"
Сообщение об ошибке я проверил свой Sql-сервер и разрешил удаленные подключения.
Я отвлек мою систему следующим кодом и получаю ту же ошибку:
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);
}
}
}