2

코드 첫 마이그레이션 기술에 관해서 이상하게 느껴집니다. 우선 이것은 Ruby on Rails와 같은 기술에서 기원을 얻은 개념입니다. 나는 그것에 대해 뭔가를 가지고 있지 않다. 제발 나를 잘못하지 마라. 내가 잘 모르는 부분은보고 등을 포함 할 수있는 확장 성이 뛰어난 엔터프라이즈 애플리케이션의 경우 코드 첫 마이그레이션의 사용법이 좋은 접근 방식이라면 그 것이다. 기본적으로 데이터베이스 디자인, 최적화가 중요한 부분을 차지하는 상황을 언급하고있다. 일반적인 성능 (비정규 화, 인덱싱, 샤딩 등)에서. 제 느낌으로는 코드 첫 마이그레이션은 큰 오버 헤드를 가져옵니다. 내가 맞습니까, 틀렸습니까? 나는 정말로 당신의 의견을 듣고 싶습니다.Entity Framework 코드 처음 마이그레이션 - 좋지 않음 또는 양호한 코드

답변

2

틀렸어.

EF 마이그레이션은 데이터베이스 설계 방식과 관련이 없습니다. 데이터베이스 스키마의 두 버전에 대해 스크립트를 생성하고 자동으로 하나에서 다른 방법으로 마이그레이션하는 방법을 찾아내는 일회성 프로세스입니다.

앱이 실행될 때 마이그레이션이 실행되지 않으며 오버 헤드가 없거나 앱 성능에 영향을주지 않습니다. EF 자체가 생성하므로 기존 스키마에서만 작동합니다. 사실,이 프로세스는 너무 일반적이어서 EF에만 국한되지는 않습니다. EF를 사용하든 사용하지 않든 마이그레이션은 두 스키마간에 마이그레이션하는 데 사용할 수 있습니다.

이와 같이 데이터베이스의 수행 방식과 아무 관련이 없습니다.

스키마는 EF 자체에서 제어되며 데이터베이스 매핑 방법에 따라 다릅니다. 예, EF가 모든 작업을 수행하게하는 경우 최적이 아닌 스키마로 끝날 수도 있지만 Fluent Mappings을 사용하여 생성 방법을 완전히 제어 할 수 있습니다.

+0

성능 향상을 위해 db 스키마를 변경해야하는 경우 유지 관리 프로세스에 대한 오버 헤드가 있습니다. 앱이 실행될 때 마이그레이션이 실행된다고 언급 한 적이 없습니다. –

+0

@MihaiH - 그 때 당신의 요점을 이해하지 못합니다. 데이터베이스를 어떤 방식 으로든 변경해야하므로 스크립트를 자동으로 생성하는 것이 수동으로 수행하는 것보다 더 많은 오버 헤드가되는 것을 알지 못합니다. –

+0

마이그레이션을 동기화 상태로 유지하려면? 마이그레이션은 실제 POCO와 그 관계에 의존한다는 것을 알고 있습니다. –

관련 문제