엔티티 프레임 워크 7, 비주얼 스튜디오 2015, 콘솔 명령이 작동하지 않음

asp.net-core-mvc c# entity-framework-core visual-studio-2015

문제

개별 사용자 계정이있는 ASP.NET 5 웹 응용 프로그램 템플릿 (EF7 및 MVC 6 사용)을 사용하고 있는데 다음과 같은 문제가 있습니다.

내 자신의 DBSet을 ApplicationDbContext 클래스에 추가하고이 새로운 DBSet을 사용하려고하는 페이지로 이동하면 작동하지 않습니다.

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

이제 이러한 명령을 실행하거나 "dnx"명령을 실행할 때 :

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

그리고 만약 내가 "k"명령을 실행하려고한다면 :

A database operation failed while processing the request.
SqlException: Invalid object name 'WallMessageModel'. 

There are pending model changes for ApplicationDbContext
Scaffold a new migration for these changes and apply them to the database from the command line:

 dnx . ef migration add [migration name] 
 dnx . ef migration apply

"EntityFramework.SqlServer": "7.0.0-beta5", "EntityFramework.Commands": "7.0.0-beta5"

나는 7.0.0- * 버전을 사용하여 시도했지만 여전히 나를 위해 작동하지 않습니다. 내가 뭘 잘못하고 있는지 말해 줄 수 있니?

기본적으로 EF 명령은 Visual Studio 2015 / PowerShell을 통해 내 컴퓨터에 제대로 설치되지 않았다고 생각합니다. 그러나, EF7을 사용할 때 VS2015에 내장되어서는 안되는 것들을 설치하는 방법을 보여주는 참고 자료가없는 것 같습니다.

수락 된 답변

다른 DbSet을 ApplicationDbContext 클래스에 추가하거나 다른 기존 엔터티 클래스를 추가 / 수정하면 런타임 모델이 데이터베이스 모델에서 변경됩니다. 따라서 새로운 마이그레이션을 스캐 폴딩하여 데이터베이스에 적용하여 두 모델이 서로 동기화되도록해야합니다. 예외 메시지에서 알 수 있듯이, 그렇게하기 위해 명령을 실행해야합니다.

실행되지 않는 명령 (또는 다른 dnx 명령)의 경우 dnx 명령은 VS2015에 내장되어 있지 않습니다. Visual Studio 용 Microsoft ASP.NET 및 Web Tools 확장 기능을 제공합니다. VS 용으로 설치했는지 확인하십시오. 그러면 dnx 명령을 실행할 수 있습니다. k 는 매우 오래된 용어이며 dnx 로 이름이 바뀌 었 dnx . 또한 beta5는 구버전이고, 최신 버전은 RC1이며, 더 많은 기능을 가지고 있습니다. 웹 도구를 설치하고 사용하는 방법에 대한 자세한 정보는 https://get.asp.net/ 에서 확인할 수 있습니다.




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