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 서버 인스턴스를 제공합니다. 여기 에서 다운로드 할 수 있으며 단계는 여기에 명확하게 언급되어 있습니다 .
'programing' 카테고리의 다른 글
Java의 상속으로 인해 얼마나 많은 객체가 생성됩니까? (0) | 2021.01.15 |
---|---|
Django에서 HTTP 400 응답을 반환하는 방법은 무엇입니까? (0) | 2021.01.15 |
slf4j-log4j12와 log4j-over-slf4j의 차이점 (0) | 2021.01.15 |
스크롤바없이 뷰포트 너비 (vw)를 계산할 수 있습니까? (0) | 2021.01.15 |
google ()과 maven의 차이점 {url 'https://maven.google.com'} (0) | 2021.01.15 |