DbContext를 찾을 수 없거나 사용할 DbConnection 또는 연결 문자열을 지정하지 않고 관계형 저장소가 구성되었습니다.

asp.net-core asp.net-core-mvc entity-framework-core

문제

Entity Framework 명령 ( "7.0.0-beta1")을 사용할 때.

달릴 때

k ef migration 추가 InitialCreate

나는 오류가 발생했습니다.

[해결책]

나는 클래스 파일 (DbContext가 생성되는 곳)을 별개의 클래스 라이브러리와 예상대로 작동하는 메인 프로젝트로 이동하려고한다.

그래서 진짜 문제는 별도의 클래스 라이브러리에서 DbContext를 사용할 때입니다.

내 dbcontext 파일

public class DbTables : DbContext
{

    public DbSet<class_name> class_name_alias { get; set; }

    private static bool _created = false;

    public DbTables()
    {
        if (_created)
        {
            Database.AsRelational().ApplyMigrations();
            _created = true;
        }
    }

    protected override void OnConfiguring(DbContextOptions options)
    {
        options.UseSqlServer(@"Data Source=(LocalDB)\MSSQLLocalDB;Initial Catalog=app_db;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False");
    }

    protected override void OnModelCreating(ModelBuilder builder)
    {
        base.OnModelCreating(builder);
    }

}

수락 된 답변

클래스 라이브러리에 DBContext를 만드는 경우 마이그레이션을 만들려면이 클래스 라이브러리의 project.json에서 ef 명령을 선언해야합니다. 이 프로젝트를 위해 k ef commmand를 실행하십시오.

{
    "version": "1.0.0-*",
    "dependencies": {
        "EntityFramework.SqlServer": "7.0.0-beta1",
        "EntityFramework.Commands": "7.0.0-beta1" 
    },
    "commands": {
        "ef": "EntityFramework.Commands"
    },
    "frameworks" : {
        "aspnet50" : { 
            "dependencies": {
            }
        },
        "aspnetcore50" : { 
            "dependencies": {
                "System.Runtime": "4.0.20-beta-22231"
            }
        }
    }
}

OnConfiguring 메서드를 재정 의하여 연결 문자열을 설정해야합니다.

{
    "version": "1.0.0-*",
    "dependencies": {
        "EntityFramework.SqlServer": "7.0.0-beta1",
        "EntityFramework.Commands": "7.0.0-beta1" 
    },
    "commands": {
        "ef": "EntityFramework.Commands"
    },
    "frameworks" : {
        "aspnet50" : { 
            "dependencies": {
            }
        },
        "aspnetcore50" : { 
            "dependencies": {
                "System.Runtime": "4.0.20-beta-22231"
            }
        }
    }
}



아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.