2015-01-24 3 views
0

Visual Studio 2013의 .NET MVC에서 내 프로젝트의 데이터베이스에 문제가 있습니다. 마이그레이션으로 데이터베이스를 업데이트 할 수 없으며 모델과 업데이트 된 데이터베이스를 업데이트 할 수 있지만 변경된 사항이 없으므로 모든 데이터베이스와 마이그레이션이 프로젝트를 다시 작성하지만 지금은 콘솔 사용 가능 마이그레이션을 입력 할 때이 있습니다Entity Framework 데이터베이스 오류

어셈블리 'Ogloszenia'에서 하나 이상의 컨텍스트 유형이 발견되었습니다. Ogloszenia.Models.UsersContext의 마이그레이션을 사용하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.UsersContext를 사용하십시오. Ogloszenia.Models.Plik + BazaPlikow에 대한 마이그레이션을 사용하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.Plik + BazaPlikow를 사용하십시오. Ogloszenia.Models.Skarga + BazaSkarg에 대한 마이그레이션을 사용하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.Skarga + BazaSkarg를 사용하십시오. Ogloszenia.Models.SlowaZakazane + BazaSlowZakazanych에 대한 마이그레이션을 사용하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.SlowaZakazane + BazaSlowZakazanych를 사용하십시오. Ogloszenia.Models.Kategorie + BazaKategorii에 대한 마이그레이션을 활성화하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.Kategorie + BazaKategorii를 사용하십시오. Ogloszenia.Models.Ogloszenie + BazaOgloszen에 대한 마이그레이션을 활성화하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.Ogloszenie + BazaOgloszen을 사용하십시오. Ogloszenia.Models.Ustawienie + BazaUstawien의 마이그레이션을 사용하려면 Enable-Migrations -ContextTypeName Ogloszenia.Models.Ustawienie + BazaUstawien을 사용하십시오. 사용, Ogloszenia.Models.Wiadomosc + BazaWiadomosci에 대한 마이그레이션을 사용하려면 사용-마이그레이션 -ContextTypeName Ogloszenia.Models.Wiadomosc + BazaWiadomosci.`

무엇

? 모든

+1

입니까? 그렇다면 메시지가 말하고있는 것을 정확하게 수행하십시오. – Jcl

+0

그래, 나는 컨텍스트가 거의 없지만, 말하는 내용을 입력하면 새 데이터베이스를 만들지 않습니다. – Klapek

+0

'Enable-migrations'는 데이터베이스를 만들지 않고 설정 만합니다. 마이그레이션 코드. 'Update-Database'를 사용하여 데이터베이스를 생성하거나 특정 마이그레이션으로 업데이트하십시오. – Jcl

답변

-1

첫째는 DbContext 에서 별도의 클래스 모든 DbSets와MigrationDbContext을합니다.

  1. 그런 다음 마이그레이션 만 허용하십시오. 프로덕션 DbContext에 대해서는 enable-migrations을 건너 뛰십시오. EF는 기본적으로 여러 DbContext에 대해 마이그레이션을 지원하지 않기 때문입니다.
  2. 그런 다음 명령 add-migration을 적용하십시오.
  3. 그런 다음 명령 update-migration을 적용하십시오. 가장 일반적으로 사용되는 명령 이름 및 매개 변수에 대한

좋은 및 빠른 참조 프로젝트에서 하나 DbContext 이상이 있습니까 here

+0

Ok 주제가 닫혔습니다. 나는 pendrive에서 데이터베이스의 오래된 사본을 찾았고 효과가 있었다. 왜 그것이 작동하지 않았는지 알고 싶지 않습니다. VS에서의 마지막 일입니다. – Klapek

+0

그건 사실이 아니야. EF의 최신 버전은 다중 컨텍스트에 대한 마이그레이션을 지원합니다. http://www.dotnet-tricks.com/Tutorial/entityframework/2VOa140214-Entity-Framework-6-Code-First-Migrations-with-Multiple-Data-Contexts.html – trailmax

+0

사실입니다. 당신의 링크를 확인했습니다. 최신 EF 버전은 여러 DbContext를 마이그레이션 할 때 이전 버전과 큰 차이가 없습니다. 여러 DbContexts의 마이그레이션에서 주요 문제는 일반적인 DbSets이며 DbContext 몇 개에서 만날 수 있습니다. * .cs 마이그레이션 파일이 생성 될 때, DataBase에서 거의 빌드 된이 공통 테이블을'Up()'메소드에서 수동으로 주석 처리해야합니다. 이 간단한 튜토리얼에서 저자는 단 하나의 테이블 만 주석 처리하지만, 프로덕션에서는 외래 키가있는 수십 개의 테이블이 될 수 있습니다 - 그것은 지옥이됩니다. 그리고 똑똑한 네이티브 지원처럼 보이지 않습니다. –

관련 문제