6

나는 일반적인 클래스의 속성 CoreContext을 정의 "코어"라는 이름의 클래스 라이브러리 프로젝트가 있습니다엔티티 프레임 워크 여러 프로젝트는

public class CoreContext : DbContext 
{ 
    public DbSet<User> Users { get; set; } 
    public DbSet<Role> Roles { get; set; } 
    public DbSet<UserContactInfo> UserContactInfos { get; set; } 
    ... more common properties ... 
} 

을 그럼 난은 "코어"프로젝트를 참조하고 정의하는 여러 프로젝트가 CoreContext 상속 새로운 컨텍스트 :

에서 Project1 :

public class Project1Context : CoreContext 
{ 
    public DbSet<Foo> Foos { get; set; } //object defined in Project1 
} 

Project2에 :

,
public class Project2Context : CoreContext 
{ 
    public DbSet<Bar> Bars { get; set; } //object defined in Project2 
} 

내가 Project1Context 뭔가를 변경하면 나는 OK입니다 Project1의 새로운 마이그레이션을 작성하지만 핵심 프로젝트에 뭔가를 변경하는 경우, 내가 Project1의 및 Project2에와로 이동해야합니다 UserContactInfo에 재산 Company를 추가 말할 수 새 마이그레이션을 추가하면 Project1 및 Project2의 핵심 프로젝트와 관련된 마이그레이션이 완료됩니다.

제 질문은 Core Project와 Project1Context 및 Project2Context 마이그레이션에서 CoreContext에 대한 마이그레이션을 해당 프로젝트에 보관하고 프로젝트와 관련된 모든 마이그레이션을 자동으로 실행하는 방법이 있습니까? Project1을 시작할 때 실행됩니다. 자체 마이그레이션 및 CoreContext 마이그레이션

는 설명으로, 나는 당신이 말하는 것은 불가능하다 버전 6

+0

이걸로 무엇을 이루고자합니까? 별도의 데이터베이스가 두 개있는 경우 Project1과 Project2의 마이그레이션에서 기본 datacontext를 변경해야합니다. 두 가지 프로젝트의 마이그레이션을 만드는 것보다 오버 헤드가 많이 발생할 것입니다. 비록 당신이 그것을 할 수있다하더라도, 당신은 여전히 ​​두 데이터베이스에 기본 변경을 적용해야합니다. –

답변

0

에 Project1의 및 Project2에 대한 별도의 데이터베이스 최근 업데이트 EF가 .. 은 그냥 기본 CRUD 뷰를 생성하는 모델을 사용하는 경우 상상 그런 다음 모델을 변경하십시오. 귀하의 질문은 유사합니다 ..

0

아마 MigrateDatabaseToLatestVersion에서 상속받은 하위 클래스를 작성할 수 있습니까?

+0

제대로 작동하려면 프로덕션을 위해 권장되지 않는 자동 마이그레이션과 결합해야합니다. – lukew