본문 바로가기
Programming/C#

.NET6(dotnet6)에서 entity framework 설치하기 (ef명령어 오류)

by Wilkyway 2022. 9. 14.

dotnet core3.1 쓰다가 업그레이드 된 닷넷이 있다고 하여 dotnet6를 설치하고 스캐폴딩을 수행해보겠습니다.

 

1. 필요한 라이브러리를 설치하고(Oracle DB)

필요한 라이브러리도 설치됨

2. 스캐폴딩......근데, 스캐폴딩하다가 에러가 발생했습니다.

dotnet ef dbcontext scaffold "User Id=abc;Password=1234;Data Source=abcd.efghijk.com:1521/dbname;" Oracle.EntityFrameworkCore -t TBL_ITMAN_AUTH -t TBL_ITMAN_CONSUMABLE -t TBL_ITMAN_ERP -t TBL_ITMAN_OH_UPLOAD -t TBL_ITMAN_PRT_MDL -t TBL_ITMAN_PRT_MST -t TBL_ITMAN_P_C_RS -t TBL_ITMAN_REQ_CON -t TBL_ITMAN_USELOG -o Models -f
지정된 명령 또는 파일을 찾을 수 없으므로 실행할 수 없습니다.
가능한 원인은 다음과 같습니다.
  * 기본 제공 dotnet 명령 철자가 잘못 입력되었습니다.
  * .NET 프로그램을 실행하려고 했지만, dotnet-ef이(가) 없습니다.
  * 전역 도구를 실행하려고 했지만, 이 이름의 dotnet 접두사가 있는 실행 파일을 PATH에서 찾을 수 없습니다.

 

 

찾다보니 아래와 같은 문구를 발견했는데요...

 

이 도구는 더 이상 기본 제공되지 않으며 명시적인 설치가 필요하다는 ASP.NET Core 3 Preview 4 발표 를 참조하십시오 .

dotnet ef 도구는 더 이상 .NET Core SDK의 일부가 아닙니다.

이 변경 dotnet ef으로 전역 또는 로컬 도구로 설치할 수있는 일반 .NET CLI 도구로 제공 할 수 있습니다. 예를 들어, 마이그레이션 또는 스캐 폴드 a를 관리 하려면 다음 명령을 입력하여 전역 도구로 DbContext설치 dotnet ef하십시오.

 

3. 결론은 아래와 같이 dotnet-ef를 전역으로 설치해줘야 한다고 합니다.

dotnet tool install --global dotnet-ef

그 후에는 잘 되네요..

댓글2