Code-First 애플리케이션을 처음 실행한 후 이미 데이터베이스를 만들었는데, 두 번째로 시작하면 데이터베이스는 무엇인가요? 애플리케이션이 실행될 때마다 새로운 데이터베이스가 생성되나요? 생산 환경은 어떤가요? 도메인 모델을 변경할 때 데이터베이스도 어떻게 변경하나요? 이러한 상황을 처리하려면 데이터베이스 초기화 정책 중 하나를 사용해야 합니다.
데이터베이스 초기화 전략은 네 가지가 있습니다:
CreateDatabaseIfNotExists:이것은기본값초기화 절차. 이름에서 알 수 있듯이, 구성에 따라 데이터베이스가 존재하지 않으면 데이터베이스를 생성합니다. 하지만 모델 클래스를 변경한 후 이 초기화자로 애플리케이션을 실행하면 예외가 발생합니다.
DropCreateDatabaseIfModelChanges: 만약 모델 클래스(엔티티 클래스)가 변경되었다면, 이 초기화자는 기존 데이터베이스를 삭제하고 새 데이터베이스를 생성합니다. 그래서 모델 클래스가 바뀌어도 데이터베이스 스키마를 유지할 걱정을 할 필요가 없습니다.
DropCreateDatabaseAlways: 이름 그대로 이 초기화자는 모델 클래스가 변경되었든 아니든 애플리케이션을 실행할 때마다 기존 데이터베이스를 삭제합니다. 예를 들어 애플리케이션을 개발할 때처럼 매번 새로운 데이터베이스가 필요할 때 유용합니다.
커스텀 데이터베이스 초기화: 위의 조건이 요구사항에 맞지 않는다면, 또는 위 초기화기를 사용해 다른 데이터베이스 초기화 과정을 수행하고 싶을 경우 직접 맞춤 초기화자를 만들 수도 있습니다.
위의 DB 초기화 전략 중 하나를 사용하려면 데이터베이스 컨텍스트 클래스의 클래스를 사용하여 DB 초기화자를 설정해야 합니다. 아래 참조와 같습니다:
면책 조항: Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.
Mail To:help@itsvse.com