Я использую Entity Framework Core в своем консольном приложении .NET Core. Я храню строку подключения в файле App.config
и использую ConfigurationManager
в классе контекста для доступа к строке подключения.
Когда я хочу добавить новую миграцию в свой проект, я получаю следующую ошибку:
System.NullReferenceException: ссылка на объект не установлена для экземпляра объекта.
в EF_tut.Context.OnConfiguring (DbContextOptionsBuilder optionsBuilder) в C: \ .. \ Context.cs: строка 12
в Microsoft.EntityFrameworkCore.DbContext.get_InternalServiceProvider ()
в Microsoft.EntityFrameworkCore.Internal.InternalAccessorExtensions.GetService [TService] (фабрика IInfrastructure 1 accessor)<br>
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(Func
1)
в Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext (String contextType)
в Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration (Строковое имя, Строковый outputDir, Строковый contextType)
в Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl (имя строки, строка outputDir, строка contextType)
в Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase. <> c__DisplayClass3_0`1.b__0 ()
в Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute (действие Action)
Ссылка на объект не установлена для экземпляра объекта.
Это мой App.config
файл:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="EfTutDb"
connectionString="Data Source=.;Initial Catalog=EF_tut;Integrated Security=True;"/>
</connectionStrings>
</configuration>
и это мой контекстный класс:
class Context : DbContext
{
public DbSet<Student> Students { get; set; }
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(ConfigurationManager.ConnectionStrings["EfTutDb"].ConnectionString); // Line 12.
}
}
Когда я пытаюсь получить строку подключения, используя ConfigurationManger
в основном методе, я получаю строку подключения, но когда я добавляю миграцию, я получаю ошибку Null Reference.