나는 아래와 같은 DbContext에서 파생되는 상황이 있습니다패스 연결 문자열
studentContext = new StudentContext(settings.ConnectionString)
: I에 의해 연결 문자열을 전달하기 위해 노력하고있어
public class StudentContext : DbContext
{
public StudentContext(string connectionString) : base(connectionString)
{
}
protected override void OnModelCreating(DBModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion<StudentContext, StudentMigrations.Configuration>());
}
public DbSet<Students> Students {get; set;}
}
을 설정은 구성 파일을 읽으면 런타임에로드됩니다. this 시도했는데 또한 this.Database.Connection.ConnectionString.In 사용하여 StudentContext 생성자 안에 연결 문자열을 설정했는데 기본 생성자를 제공하거나 구현을 제공하는 예외가 발생합니다. IDbContextFactory 내가 일할 수있는 첫 번째 옵션을 얻을 수 있다면, 코드에 따라서 정적의 사용을 줄이기 위해 노력하고
public class StudentContext : DbContext
{
public static string ConnectionString;
public StudentContext(string connectionString) : base(ConnectionString = connectionString)
{
}
//And also provide a default implementation of the DbContext constructor:
public StudentContext() : base(ConnectionString)
{
}
protected override void OnModelCreating(DBModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
System.Data.Entity.Database.SetInitializer(new MigrateDatabaseToLatestVersion<StudentContext, StudentMigrations.Configuration>());
}
public DbSet<Students> Students {get; set;}
}
, 즉 큰 것 : 작동하는 유일한 것은 이것이다.