:이 일을 엔티티 프레임 워크 (6)에서MigrationHistory 엔티티 프레임 워크에서 DbContext의 엔티티로 내 데이터베이스 컨텍스트에 엔티티로 (엔티티 프레임 워크 생성에 의해) 테이블 <code>__EFMigrationsHistory</code>을 얻으려고 7
환상적으로,하지만 누군가 EntityFramework 7에서 그것을 시도 했습니까? 나는이 시도 무엇
, 그냥 새로운 클래스__EFMigrationsHistory
를 추가합니다 -하지만 너무 쉬운 것 -
there is already a table named __EFMigrationsHistory in the database
(덕분에 ...)
그럼 내가 그 HistoryRow에 대해 읽고 난에서 클래스를 상속된다. 그래서
public class MigrationsHistory : HistoryRow
{
//... constructor etc.
}
은 마이그레이션을 시작 클래스를 생성 : 나는 두 마이그레이션 역사 테이블을 가지고 (하지만 원래 작동)
그래서 내가 읽어와 인터페이스 및 구현하는 클래스를 검색/상속하다. 나는 SqlServerHistoryRepository
를 발견했다 - 멋지게 보인다. 나는 SqlServerHistoryRepository
을 상속받은 새로운 데이터베이스 콘텍스트를 만들었다. (마치 EF6에서 그렇게했을 것이다.) -하지만 이것은 컨텍스트 클래스가 아니므로 Startup.cs에서 추가 할 수 없습니다 (내 기본 applicationcontext로 수행 한 것처럼)
따라서 DbContext
을 확인한 결과 어딘가에 EF6),하지만 내 컨텍스트에 테이블을 추가하기위한 아무것도 없습니다.
So : 누구든지 이미 자신의 컨텍스트에 이전 기록을 추가하려고 했습니까? 누구든지 성공 했습니까? 이름으로 테이블에
데이터베이스를 다시 생성하지 않았습니다. 새 프로젝트 인 ef7 마이그레이션을 설정하고 첫 번째 프로젝트를 추가하고 두 번 추가하려고합니다. 생성 된 마이그레이션 파일을 조작해야하지만이 문제를 해결하는 것은 잘못된 방법이라고 생각합니다. –
내일 다시 시도하겠습니다. 나는이 답변으로 돌아와 :)이 일을보기 좋게 생각합니다. –
생성 된 마이그레이션을 수정하십시오! 예,이 문제를 해결할 수있는 * 올바른 방법입니다 ([# 2725] (https://github.com/aspnet/EntityFramework/issues/2725)가 구현 될 때까지) – bricelam