반응형
EF 6 및 Code First 마이그레이션의 동일한 DB 및 애플리케이션에있는 여러 DB 다수
Entity Framework를 처음 사용합니다. EF 6을 사용하는 MVC 응용 프로그램을 설정합니다. Code First 마이그레이션을 사용하고 있습니다. 앱에서 영역을 사용하고 각 영역에서 다른 DbContext를 사용하여 분리하고 싶습니다. EF 6에 상황에 맞는 완벽한 정보를 사용할 수 없습니다. 현재는 한 번에 하나의 많은 마이그레이션을 사용할 수 있습니다.
누군가 저와 같은 EF에 새로운 사람이 이해하고 사용할 수있는 충분한 세부 사항과 함께 예제를 줄 수 있습니까?
엔티티 프레임 워크 (6) DbContext
은 -ContextTypeName
및 -MigrationsDirectory
플래그 를 추가하여 multi-에, 대한 지원을 추가했습니다 . 패키지 관리자 콘솔에서 명령을 실행하고 아래 출력을 넣었습니다.
DbContext
프로젝트에 2가 있고를 실행 enable-migrations
하면 오류가 발생합니다 (아마도 이미 알고있을 것입니다).
PM> enable-migrations
More than one context type was found in the assembly 'WebApplication3'.
To enable migrations for 'WebApplication3.Models.ApplicationDbContext', use Enable-Migrations -ContextTypeName WebApplication3.Models.ApplicationDbContext.
To enable migrations for 'WebApplication3.Models.AnotherDbContext', use Enable-Migrations -ContextTypeName WebApplication3.Models.AnotherDbContext.
따라서 enable-migrations
추가적 인으로 DbContext
실행 해야합니다 . 그리고 Configuration.cs
생성 할 각 파일 에 대해 폴더를 지정해야 우리합니다 .
PM> Enable-Migrations -ContextTypeName ApplicationDbContext -MigrationsDirectory Migrations\ApplicationDbContext
Checking if the context targets an existing database...
Code First Migrations enabled for project WebApplication3.
PM> Enable-Migrations -ContextTypeName AnotherDbContext -MigrationsDirectory Migrations\AnotherDbContext
Checking if the context targets an existing database...
Code First Migrations enabled for project WebApplication3.
각 DbContext
에 대한 마이그레이션을 추가 비용 Configuration
클래스의 정규화 된 이름을 지정하여 다음과 같이 수행합니다 .
PM> Add-Migration -ConfigurationTypeName WebApplication3.Migrations.ApplicationDbContext.Configuration "InitialDatabaseCreation"
Scaffolding migration 'InitialDatabaseCreation'.
The Designer Code for this migration file includes a snapshot of your current Code First model. This snapshot is used to calculate the changes to your model when you scaffold the next migration. If you make additional changes to your model that you want to include in this migration, then you can re-scaffold it by running 'Add-Migration InitialDatabaseCreation' again.
PM> Add-Migration -ConfigurationTypeName WebApplication3.Migrations.AnotherDbContext.Configuration "InitialDatabaseCreation"
Scaffolding migration 'InitialDatabaseCreation'.
The Designer Code for this migration file includes a snapshot of your current Code First model. This snapshot is used to calculate the changes to your model when you scaffold the next migration. If you make additional changes to your model that you want to include in this migration, then you can re-scaffold it by running 'Add-Migration InitialDatabaseCreation' again.
그리고 update-database
같은 방식으로 실행 합니다.
PM> Update-Database -ConfigurationTypeName WebApplication3.Migrations.ApplicationDbContext.Configuration
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying explicit migrations: [201402032113124_InitialDatabaseCreation].
Applying explicit migration: 201402032113124_InitialDatabaseCreation.
Running Seed method.
PM> Update-Database -ConfigurationTypeName WebApplication3.Migrations.AnotherDbContext.Configuration
Specify the '-Verbose' flag to view the SQL statements being applied to the target database.
Applying explicit migrations: [201402032113383_InitialDatabaseCreation].
Applying explicit migration: 201402032113383_InitialDatabaseCreation.
Running Seed method.
도움이 되셨기를 바랍니다.
반응형
'IT' 카테고리의 다른 글
Data.Void의 터무니없는 기능은 무엇에 유용합니까? (0) | 2020.09.03 |
---|---|
python NameError : 전역 이름 '__file__'이 정의되지 않습니다. (0) | 2020.09.03 |
끔찍한 이벤트 리스너를 파괴하지 않고 innerHTML에 추가 할 수 있습니까? (0) | 2020.09.03 |
C ++ catch 블록-값 또는 참조로 발생합니까? (0) | 2020.09.03 |
node.js postgresql 모듈을 사용하는 적절한 방법은 무엇입니까? (0) | 2020.09.03 |