Чтобы выполнить миграцию через Entity Framework Core, я создал фабрику времени разработки, как описано в этой статье . В настоящее время я реализовал это, что, кажется, работает:
public StudentContextCreateDbContext(string[] args)
{
string connectionString = "Data Source=localhost;Initial Catalog=MyCatalog;Integrated Security=True;";
var optionsBuilder = new DbContextOptionsBuilder<StudentContext>();
optionsBuilder.UseSqlServer(connectionString);
return new StudentContext(optionsBuilder.Options);
}
Однако я бы предпочел не использовать жестко закодированную строку подключения. Вместо этого я пробовал эту строку, чтобы получить ее из App.config
:
string connectionString = ConfigurationManager.ConnectionStrings["Local"].ConnectionString;
, которая возвращает точно такую же строку подключения, только из файла App.config
. Он работает в реальном приложении, но когда я использую его с фабрики времени разработки, я получаю System.NullReferenceException
.
Как я могу совместно использовать одну и ту же строку соединения между моим приложением и фабрикой времени разработки, не поддерживая вручную оба?