2

NHibernate에서 프로토 타이핑을하는 동안 클래스에 속성을 추가하기 만하고 SchemaUpdate은 가능한 경우 데이터베이스 테이블에 새 열을 추가합니다.엔티티 프레임 워크 (코드 첫 번째)의 NHibernate의 SchemaUpdate?

유사한 오래된 질문이 있습니다 : 엔티티 프레임 워크 6.1 이상에서 비슷한 일이 Updating database schema with Entity Framework Code First

거기가? 또는 SchemaUpdate과 유사한 작업을 수행하는 Entity Framework 용 타사 오픈 소스 라이브러리가 있습니까?

답변

1

예, 기본 제공되는 마이그레이션 프레임 워크 (최상의 솔루션) 또는 DropCreateDatabaseIfModelChanges를 사용할 수 있습니다. 이 모든 것은 데이터베이스 이니셜 라이저 (IDatabaseInitializer 구현)의 예입니다. 전자는 더 복잡하지만 더 강력합니다. 후자는 설정하기 쉽지만 수정을 수행하면 데이터베이스가 삭제됩니다.

public class MyContext : DbContext 
{ 
    static MyContext() 
    { 
     Database.SetInitializer(new DropCreateDatabaseIfModelChanges<MyContext>()); 
    } 
} 
+0

이 모든 데이터가 삭제됩니다 :이 (다른 옵션은 파일의 .config하여 같은 존재)로 는 후자를 사용? 'SchemaUpdate'는 단지 새로운 컬럼을 추가합니다. –

+0

마이그레이션을 수행하면 데이터가 보존됩니다. http://msdn.microsoft.com/en-us/data/jj591621.aspx의 자습서를 읽어보십시오. NH보다 더 복잡합니다. –

+0

감사합니다. 스캐 폴딩 기능을 놓쳤습니다. –