2016-11-24 1 views
1

Entity Framework 마이그레이션을 처음 사용합니다. 나는 다음과 같은 링크를 사용하여 자동 마이그레이션을 가능하게하는 기초를 알고C# Entity Framework 프로덕션 환경에서 자동 마이그레이션을 수행하는 방법

http://www.entityframeworktutorial.net/code-first/automated-migration-in-code-first.aspx

사람이 어떻게 시나리오에서 자동 마이그레이션을 수행하는 것을 어떤 번거 로움없이 생산의 자동 마이그레이션을 가능하게하는 가장 좋은 방법이며, 말할 수 어디 연결 문자열은 런타임 중에 제공됩니까?

감사합니다.

+1

프로덕션 환경에서 자동 마이그레이션을 사용하지 말 것을 강력히 권장합니다. 데이터 모델의 발전 방식을 완벽하게 제어하려면 마이그레이션을 생성하고 필요할 때 프로덕션 데이터베이스에 대해 마이그레이션하는 것이 좋습니다. –

답변

0

EF DB 버전 확인은 런타임에 수행됩니다. 프로젝트 (예 : MigrateDatabaseToLatestVersion과 함께 제공 한 링크)에서 이주를 사용 가능하게 한 경우, 이주는 첫 x 째 컨텍스트 초기화시 적용됩니다.

0

제 프로덕션 플랫폼에서이 기능을 사용할 수 있습니다.이 명령은 디버그 모드 이외의 다른 방법으로 빌드가 완료 될 때만 실행됩니다.

#if !DEBUG 
     Database.SetInitializer(new MigrateDatabaseToLatestVersion<VerbekeContext, Default.Migrations.Configuration>()); 
#endif 

시동 기능의 MVC 프로젝트의 제를 Global.asax에 추가됩니다, 그래서 당신은 다른 응용 프로그램이있는 경우에 true로 AutomaticMigrationsEnabled을이 @ 시작

을 실행해야 아니면 설정할 수 있습니다 migrations 폴더에있는 configuration.cs. 디버그 스위치를 추가하는 경우 디버그에서는 false로 설정하고 다른 빌드 모드에서는 true로 설정하십시오.

namespace Default.Migrations 
{ 
using System.Data.Entity.Migrations; 

public sealed class Configuration : DbMigrationsConfiguration<Context> 
{ 
    public Configuration() 
    { 
     AutomaticMigrationsEnabled = false; 
    } 

    protected override void Seed(Context context) 
    { 
     /// 
    } 
} 
} 
관련 문제