1

코드 첫 마이그레이션, 자동 모드를 사용합니다. 직접 SQL 코드가 필요한 마이그레이션을 위해 Migrations 폴더를 만들었지 만 AutomaticMigrationsEnabled = true;코드 첫 번째 이전에서 기록을 지우는 방법은 무엇입니까?

public Configuration() 
    { 
     AutomaticMigrationsEnabled = true; 
     AutomaticMigrationDataLossAllowed = true; 
    } 

여러 번, 데이터베이스를 삭제하여 다시 만듭니다. 디버거에서 자동 업데이트 SQL 코드를 보면 마이그레이션 시스템에 내 변경 내역이 있다는 것을 알았습니다. 소스에서 흔적을 삭제 한 이벤트입니다.

예를 들어, MyTable1 테이블 이름을 MyTable2로 변경합니다. 그런 다음 데이터베이스를 완전히 삭제합니다. "Update-Database -Script"를 실행하면 Migrations에서 "MyTable1"을 만든 다음 "MyTable2"로 이름을 바꿀 수 있습니다.

전적으로 혼란 스럽습니다. "MyTable1"이 (가) 내 코드에 없습니다. 자동 마이그레이션을 사용하기 때문에 마이그레이션 폴더에 없습니다. 데이터베이스를 삭제했기 때문에 내 데이터베이스의 기록 테이블에 없습니다. bin 및 obj 폴더를 삭제했습니다. 그러면 내 변경 기록은 어디에 저장됩니까?

+0

수동 추가 마이그레이션 정보를 만들고 위/아래 방법을 지우고 업데이트 데이터베이스를 실행하십시오. – Monah

답변

0

수수께끼가 풀렸다. 내 마이그레이션 파일이 RESX 파일을 연결했습니다.

이 파일은 이전 데이터 상태를 "data"요소에 저장하는 것으로 보입니다. 그것은 성문화되어 있으며 이러한 이유로 MyTable1 텍스트를 내 파일에서 찾을 수 없습니다.

<data name="Target" xml:space="preserve"> 
<value>H4sIAAAAAAAEAO1dW28cu5F+X2D/w0BPSXCikez12cSQE+jI0okSyxYs+WSRF6M1Q0kN93RPunt8LCz2l+3D/qT9C8u+81LFW7Mv4xUOcGANySJZLBaLxaqv//e//+fkz9820eIrSbMwid8cHB8eHSxIvErWYfzw5mCX3//+Dwd//tO//svJ+XrzbfFLU+9lUY+2jLM3B495vn29XGarR7IJssNNuEqTLLnPD1fJZhmsk+WLo6M/Lo+Pl4SSOKC0FouTj7s4 
관련 문제