Как передать строку подключения в код DbContext структуры сущностей? Генерация моей базы данных работает правильно, когда и DbContext, и строка подключения в web.config находятся в одном проекте и называются одинаково. Но теперь мне нужно переместить DbContext в другой проект, поэтому я тестирую передачу ему строки подключения следующим образом:
Модель и контекст
public class Dinner
{
public int DinnerId { get; set; }
public string Title { get; set; }
}
public class NerdDinners : DbContext
{
public NerdDinners(string connString)
: base(connString)
{
}
public DbSet<Dinner> Dinners { get; set; }
}
Действие
public ActionResult Index()
{
var db = new NerdDinners(ConfigurationManager.ConnectionStrings["NerdDinnerDb"].ConnectionString);
var dinners = (from d in db.Dinners
select d).ToList();
return View(dinners);
}
Web.Config
<connectionStrings>
<add name="NerdDinnerDb" connectionString="Data Source=|DataDirectory|NerdDinners.sdf" providerName="System.Data.SqlServerCe.4.0"/>
</connectionStrings>
Если я устанавливаю точку останова в действии и анализирую db
, строка подключения есть, но она не создает и не находит базу данных или что-то еще.
Произошла ошибка, связанная с сетью или конкретным экземпляром, при установке соединения с SQL Server. Сервер не найден или не был доступен. Убедитесь, что имя экземпляра правильное и что SQL Server настроен на разрешение удаленных подключений. (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server)