programing

Entity Framework 7 데이터베이스 우선 POCO 생성기가 있습니까?

itsource 2021. 1. 15. 08:10
반응형

Entity Framework 7 데이터베이스 우선 POCO 생성기가 있습니까?


작업중인 새 프로젝트를 위해 Entity Framework 7 및 ASP.NET 5를 사용해 왔지만 장애물에 부딪 혔습니다. 제가 작업중인 팀은 개발에 대한 DBA 우선 접근 방식을 사용합니다. 즉, 데이터베이스는 DBA가 설계 한 다음 개발자는 모델 변경을 보상하기 위해 코드를 변경합니다.

EF6를 사용하면 EDMX 디자이너의 "업데이트"기능을 사용하여 코드를 업데이트 할 수 있으므로 잘 작동합니다. 한 번의 클릭으로 새 수업을 받으면 완료됩니다. 그러나 EF7에서는 모든 것이 다릅니다. 더 이상 디자이너가 없으며 EF 팀의 일부 블로그 게시물에 따르면 "데이터베이스 우선"코드 생성도 지원해야하는 Code-First를 사용해야합니다.

그러나 ASP.NET 5 응용 프로그램에서 Visual Studio 2015 CTP6으로이 작업을 수행하는 방법을 알 수 없습니다. 툴링 지원이 아직 있습니까, 아니면 운이 좋지 않습니까? 그리고 그것은 전혀오고 있습니까?


최신 비트에서는 dnx 명령 프롬프트와 PowerShell 명령을 사용하여이를 수행 할 수 있습니다.

Scaffold-DbContext '<connectionString>' EntityFramework.MicrosoftSqlServer

또는

dnx ef dbcontext scaffold "<connectionString>"  EntityFramework.MicrosoftSqlServer

또는 (EF Core RC2에서)

dotnet ef dbcontext scaffold "<connectionString>"  Microsoft.EntityFrameworkCore.SqlServer

Microsoft.EntityFrameworkCore.Tools명령이 작동 하려면 패키지를 설치해야합니다 .


NuGet 패키지 관리자 콘솔 또는 명령 프롬프트를 사용하여 수행 할 수 있습니다. 명령 프롬프트로 시도했습니다. 명령 프롬프트에서 프로젝트 폴더로 이동 한 후 비슷한 명령을 사용했습니다.

dnx ef dbcontext scaffold "Data Source=myServerName; Initial Catalog=myDatabaseName; Integrated Security=True" EntityFramework.SqlServer

누락 된 패키지에 대한 오류가 있습니다.

EntityFramework.Commands

EntityFramework.SqlServer.Design

계속하기 전에 다음 명령을 따르십시오.

dnu restore

필요한 실제 패키지는 project.json 파일 에 언급 된 프레임 워크에 따라 다를 수 있습니다 .

명령 프롬프트에서 dnx 또는 기타 관련 명령을 실행할 수없는 경우 다른 답변의 주석에 언급 된 링크를 따르십시오 .

추신 : 다음은 현재 명령 목록입니다 [작성 당시, 최종 업데이트 8 월 21 일] :

ASP.NET-EntityFramework Wiki-NuGet / DNX 명령


다음은 .NET Core의 RC2에 대한 업데이트 된 매개 변수입니다 (2016 년 5 월).

dotnet ef dbcontext scaffold -c RRStoreContext -o Model 
"Data Source=(local);Initial Catalog=DBNAME;Integrated Security=True"     
Microsoft.EntityFrameworkCore.SqlServer --force

참고 Microsoft.EntityFrameworkCore.SqlServer명령에 사용되어야하는 패키지의 새로운 이름입니다. force기존 파일을 덮어 쓰는 매개 변수를 추가했습니다 . 'o'매개 변수는 출력 디렉토리 이름입니다. 그리고 지금의 dotnet대신 dnx.

현재 릴리스에서 필요한 종속성은 다음 project.json과 같습니다.

"dependencies": {
    "Microsoft.EntityFrameworkCore": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.0.0-rc2-final",
    "Microsoft.EntityFrameworkCore.Tools": {
      "type": "build",
      "version": "1.0.0-preview1-final"
    }
  },

참고 : '빌드'유형은 어셈블리를 참조하는 모든 항목이이 DLL을 도구에만 필요하므로 종속성으로 간주하지 않음을 의미합니다.


@ErikEJ는이를 위해 매우 유용한 도구를 개발했습니다. 프로젝트를 마우스 오른쪽 버튼으로 클릭하여 POCO 클래스를 생성하고 SQL 서버 인스턴스를 제공합니다. 여기 에서 다운로드 할 수 있으며 단계는 여기에 명확하게 언급되어 있습니다 .

참조 URL : https://stackoverflow.com/questions/29300777/is-there-an-entity-framework-7-database-first-poco-generator

반응형