Development Tip

Entity Framework-클래스 생성

yourdevel 2020. 12. 3. 20:44
반응형

Entity Framework-클래스 생성


기존 데이터베이스가 있습니다. 이 데이터베이스에서 클래스 파일을 생성하는 방법이 있기를 바랐습니다. 그러나 클래스 파일에서 데이터베이스를 생성하는 것을 많이 보는 것 같습니다.

Entity Framework를 사용하여 기존 데이터베이스에서 클래스 파일을 생성하는 방법이 있습니까? 그렇다면 어떻게? 누군가 저에게 튜토리얼을 알려줄 수 있습니까?


1) 먼저 EDMX데이터베이스를 사용하여 모델 을 생성 해야합니다. 그렇게하려면 프로젝트에 새 항목을 추가해야합니다.

  • ADO.NET Entity Data Model템플릿 목록에서 선택 합니다.
  • 모델 콘텐츠 선택 페이지에서 데이터베이스에서 생성 옵션을 선택하고 다음을 클릭합니다.
  • 데이터베이스를 선택하십시오.
  • 데이터베이스 개체 선택 페이지에서 테이블을 확인합니다. 필요한 경우보기 또는 저장 프로 시저를 선택합니다.

이제 Model1.edmx프로젝트에 파일이 있습니다.

2) 모델을 사용하여 클래스를 생성하려면 :

  • EDMX모델 디자이너를 엽니 다 .
  • 디자인 화면에서 오른쪽 클릭 –> 코드 생성 항목 추가…
  • 온라인 템플릿을 선택합니다.
  • 을 선택 EF 4.x DbContext Generator for C#합니다.
  • '추가'를 클릭하십시오.

프로젝트에 두 개의 항목이 추가됩니다.

  • Model1.tt (이 템플릿은 모델의 각 엔티티에 대해 매우 간단한 POCO 클래스를 생성합니다.)
  • Model1.Context.tt (이 템플릿은 데이터 쿼리 및 유지에 사용할 파생 DbContext를 생성합니다.)

3) 데이터 읽기 / 쓰기 예 :

 var dbContext = new YourModelClass(); //class derived from DbContext
 var contacts = from c in dbContext.Contacts select c; //read data
 contacts.FirstOrDefault().FirstName = "Alex"; //edit data
 dbContext.SaveChanges(); //save data to DB

4.x 버전의 EntityFramework가 필요하다는 것을 잊지 마십시오. 여기에서 EF 4.1을 다운로드 할 수 있습니다. Entity Framework 4.1 .


나는 아주 좋은 해결책을 찾았습니다. Microsoft는 Entity Framework Power Tools 베타 버전을 출시했습니다. Entity Framework Power Tools Beta 2

여기에서 클릭 몇 번으로 기존 데이터베이스에 대한 POCO 클래스, 파생 된 DbContext 및 Code First 매핑을 생성 할 수 있습니다. 아주 좋습니다!

설치 후 일부 상황에 맞는 메뉴 옵션이 Visual Studio에 추가됩니다.

C # 프로젝트를 마우스 오른쪽 버튼으로 클릭합니다. Entity Framework-> Reverse Engineer Code First를 선택합니다 (기존 데이터베이스에 대해 POCO 클래스, 파생 DbContext 및 Code First 매핑 생성).

Visual Studio 상황에 맞는 메뉴

그런 다음 데이터베이스를 선택하고 확인을 클릭합니다. 그게 다야! 많이 쉽다.


  1. EDMX 모델 열기
  2. 마우스 오른쪽 버튼을 클릭-> 브라우저에서 모델 업데이트-> 저장 프로 시저-> 저장 프로 시저 선택-> 마침
  3. 솔루션 탐색기 옆에 나타나는 모델 브라우저를 참조하십시오.
  4. 함수 가져 오기로 이동-> 저장 프로 시저를 마우스 오른쪽 버튼으로 클릭-> 함수 가져 오기 추가
  5. 컬렉션 반환-> 드롭 다운에서 엔터티 이름 선택에서 엔터티를 선택합니다.
  6. 솔루션을 구축하십시오.

EDMX 모델은 EF7에서 작동하지 않지만 매우 강력한 것처럼 보이는 Community / Professional 제품을 찾았습니다. http://www.devart.com/entitydeveloper/editions.html

참고 URL : https://stackoverflow.com/questions/10126871/entity-framework-generating-classes

반응형