1

몇 가지 이유로 FluentAPI를 사용하여 생성 된 필드 정의에 대한 EF 규칙을 무시하고 싶습니다. 기본적으로 EF6은 생성 된 모든 클래스에 대한 데이터 주석을 만듭니다.데이터 주석 대신 내 모델의 FluentAPI 정의를 생성하도록 Entity Framework 6을 변환하려면 어떻게해야합니까? (VS2015와 함께 MySQL을 사용 중입니다.)

이러한 주석을 FluentAPI로 변환하거나 EF에서 데이터 주석 대신 FluentAPI 정의를 만들 수있는 자동화 된 방법이 있습니까?

+0

EF 리버스 poco 템플릿을 사용해 보셨습니까? – ErikEJ

+0

예, EF Power Tools가 유창한 API (POCO 클래스는 물론)를 생성합니다. http://thedatafarm.com/data-access/installing-ef-power-tools-into-vs2015/ –

+0

삭제됨 고지 사항 –

답변

0

나는 마침내이 문제를 해결하고 작업하게되었습니다. (MySQL 5.1.76 및 VS2015 업데이트 3에서 EF6을 사용하고있었습니다).

다음과 같이 VS2015를 실행하기 위해 수정 된 powertools VSIX를 설치했습니다 : http://thedatafarm.com/data-access/installing-ef-power-tools-into-vs2015/ (thanks @Steve). 그러나 '리버스 엔지니어링 코드 첫 번째'옵션을 선택하면 다음과 같은 이유로 실패

  1. 언급을 C에서 발견 MySQL의 버전 : \ WINDOWS \ Microsoft.NET \ 프레임 워크 \ vx.x.xx \ 설정 \ machine.config는 프로젝트 참조에서 mySQL.Data.Entity.EF6의 버전과 일치해야합니다. 파일을 저장하려면 텍스트 편집기를 관리자 모드로 실행해야합니다.

  2. 오류 : MySQL - Entity : The value for column 'IsPrimaryKey' in table 'TableDetails' is DBNull -이 문제의 답변은 해당 게시물의 답변에 따라 해결되었습니다.

  3. 오류 : Visual Studio 2015 Update 2 breaks EF reverse code engineer vsix - 이것은 지금은 '리버스 엔지니어링 코드 첫 번째'옵션을 선택할 수 있습니다 4.5.1

에 대상 프레임 워크를 재설정하여 해결하고 오류없이 실행하고, 내 모델이 생성된다 필자가 원하는대로 FluentAPI 매핑을 성공적으로 수행했습니다.

+0

다음과 같이 Entity Framework Core는 기본적으로 FluentAPI 매핑을 사용하며 EF6으로 포팅 될 필요가없는 멋진 새 기능을 추가로 제공하므로 사용자가 원하는 경우 갈 수있는 좋은 방법 일 수 있습니다. – Bandito

관련 문제