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