2014-09-10 2 views
0

나는 코드 첫 번째 접근 방식을 사용하여 엔티티 프레임 워크와 MySQL과 장난되었습니다MySQL의 EF 코드 먼저 마이그레이션 VB.NET

나는 그렇다 (아무 데이터베이스 등으로 새로 만든 MySQL 서버에 대한 내 코드를 실행 defaults) 내가 만든 클래스에 따라 데이터베이스와 테이블을 생성합니다. 내 문제는 내가 잘하고 있는지 모르겠다. 예를 들어 내 모델 클래스를 변경하면 새 속성을 추가하면 해당 특정 테이블에 새 열이 추가 될 것으로 예상된다. 그러나 이것은 내가 내가 클래스로 변경 한 때문에이 알고,하지만 난 EF는 그 변화를 할 수있을 것이라는 인상을 나는 오류

Unknown column: 'Extent1.Email' in 'field list' 

받고 있어요 대신이 아니다 자동으로 데이터베이스에 저장됩니다. 내가

EF 6.1.1

MySql.Data 6.9.3

MySql.Data.Entity 6.9.3

답변

0

귀하의 모든 DB를 초기화를 설치 ​​한

에서 발생
Interface IDatabaseInitializer(Of In TContext As System.Data.Entity.DbContext) 

당신은 당신의 DbContext의 생성자에서 설정할 수 있습니다 Entity.Database.SetInitializer()를 사용하거나 <entityFramework><contexts><context><databaseInititalizer>Web.config에 구성합니다.

기존 데이터베이스에 새 열을 얻으려면, 당신은 필요한 마이그레이션 ( http://msdn.microsoft.com/en-us/data/JJ591621.aspx 참조) 할 중 하나가 필요하거나 삭제하고 IDatabaseInitializerDropCreateDatabaseIfModelChanges 구현, http://www.adfa.se/Archive/2013/02/01/database-initializers-in-ef-code-first를 참조 무엇 인 (모든 모델 변화에 대한 데이터베이스를 다시). 더 자세한 정보없이

나는 후자를 수행하는 것이 좋습니다.