2012-02-26 2 views
0

Entity Framework를 사용하여 기존 데이터베이스를 설정했다고 가정합니다. 엔티티 (또는 속성)를 안전하게 추가하거나 제거하여 데이터베이스가 자동으로 변경 될 수있는 메커니즘이 있습니까?Entity Framework의 기존 엔터티를 변경하십시오.

"데이터베이스에서 모델 업데이트"옵션이 있습니다. 거기에 해당하는 "Update Database From Model"이 있습니까? 이 작업을 자동으로 수행하도록 Visual Studio를 구성하는 방법이 있습니까?

답변

0

데이터베이스 스키마를 변경하는 것은 모델에서 쉽게 추론 할 수있는 간단한 작업 (열의 이름이 변경되었거나 새 열, 이전 형식을 새 형식으로 변환 할 수 있습니까?)이 아닙니다.

EF는 테이블을 변경하지 않습니다. DB를 변경하면 DB가 삭제 될 수 있습니다. 그러나 모델에 맞게 기존 데이터베이스를 수동으로 변경하면 EF가 마음에 들지 않습니다. 그들이 뭘 체크하는지 보이는 것은 Hash(Model) = Hash(Tables)입니다.

2

Entity Framework 4.3에는 코드 첫 마이그레이션 지원 기능이 있습니다.

EF는 코드와 데이터베이스 간의 차이점을 확인하는 데 도움이되며이 변경 사항을 처리하는 코드를 생성합니다. NuGet 패키지 관리자 콘솔을 사용하여 마이그레이션을 활성화하고 새 마이그레이션을 추가 한 다음 데이터베이스에서 실행하거나 SQL 스크립트를 만들 수 있습니다.

마이 그 레이션이 작동하는 방법 This blog explainsthis blog 당신이, 내가 엔티티 프레임 워크 4를 사용하고 순간 기존 데이터베이스

+0

와 함께 사용, 먼저 개발을 모델링하는 방법을 보여줍니다. 전환 하기엔 너무 먼 것일까 요? 데이터베이스에 아직 데이터가 없습니다. 모델 만 있으면 데이터베이스를 사용하기 시작한 후에 변경 될 것입니다. –

+0

Model First부터 Code First로 전환하는 것은 데이터를 아직 다루지 않았기 때문에 어렵지 않습니다. 마이 그 레이션 지원으로 일상 생활을 훨씬 쉽게 할 수 있기 때문에 노력할만한 가치가 있다고 생각합니다. –