asp.net mvc CodeFirst 모드 데이터베이스 이전 절차 상세 설명
하지만 저 는 새로운 클래스 가 있 습 니 다.필드 를 수정 해 야 합 니 다.그럼 어떻게 하 죠?라 이브 러 리 삭제,도망 가 시 겠 습 니까?하하.
데이터 베 이 스 를 이용 하여 기 존 구 조 를 바 꾸 지 않 고 새 종 류 를 따로 만 들 거나 기 존 데이터 베이스 시트,필드 를 바 꾸 면 표를 수정 합 니 다.
이전 단계:
1.패키지 관리자 콘 솔 열기:도구->NuGet 패키지 관리자->패키지 관리자 콘 솔.
클릭 후 팝 업 패키지 관리자 콘 솔
가장 주의해 야 할 것 은 기본 항목!!
2.데이터베이스 이전 시작,명령 실행:enable-migrations
Models 가 프로젝트 에 있 는 폴 더 Models 를 직접 이용 하 는 것 이 아니 기 때문에 시작 항목 을 asp.net 뮤 직 비디오 프레임 워 크 형식 으로 선택 하면 오류 가 발생 합 니 다.
현재 프로젝트 의 분포 상황 을 구체 적 으로 살 펴 보 자.
모델 을 분리 해서 시작 항목 으로 SearchEngine 을 기본적으로 선 택 했 을 때 패키지 관리자 콘 솔 에 입력 한 첫 번 째 명령 이 잘못 되 었 습 니 다.
솔 루 션:기본 항목 을 선택 하고 DbContext 가 있 는 항목 을 선택 하 십시오.여 기 는 라 이브 러 리 입 니 다.
성공 조작 은 다음 과 같 습 니 다:
그리고 DbContext 동급 디 렉 터 리 에 migrations 디 렉 터 리 를 추 가 했 습 니 다.
3.데이터베이스 이전 명령 시작
1.Add-migration[사용자 정의 버 전 이름]
add-migrationupdateorderheader 입력
2.update-database
update-database 입력
이 곳 에서 저 와 같이 DbContext 를 따로 분할 하려 면 현재 라 이브 러 리 의 설정 파일 에 데이터베이스 연결 주 소 를 추가 해 야 합 니 다.
asp.net 뮤 직 비디오 프레임 에 있 는 Models 에 직접 추 가 된 DbContext 라면 필요 없 이 웹.config 파일 의 연결 문자열 을 직접 읽 습 니 다.
명령 실행 대기 중...
이상 이 생기다
내 컴퓨터 에 있 는 SQL Server Configuration Manage 를 찾기 시 작 했 습 니 다.있 으 면 열 고 찾 습 니 다.
TCP/IP 프로 토 콜 을 사용 하도록 설정 하면 됩 니 다.
나의 로 컬 에는 이 도구 가 없어 서 아래 와 같은 방식 으로 만 이 곳 을 찾 을 수 있다.
내 컴퓨터 오른쪽 단 추 를 누 르 면->관리->서비스 와 응용 프로그램->SQLServer 설정 관리자(이 도 구 를 두 번 이나 찾 았 지만 찾 지 못 했 습 니 다.모두 여기에서 해결 한 것 같 습 니 다)
명령 을 다시 입력 하고 실행 을 기다 리 십시오.
초보 적 성공
데이터베이스 에 변경 할 필요 가 없 는 표 가 있 기 때 문 입 니 다.
migrations 디 렉 터 리 에서 추가 하거나 수정 해 야 할 구체 적 인 표를 변경 할 수 있 습 니 다.
그 중의 CreateTable/DropTable 을 수정 함으로써 어떤 표 가 변경 되 어야 하 는 지 제어 할 수 있 습 니 다.
namespace SAssassin.EF.Model.Migrations
{
using System;
using System.Data.Entity.Migrations;
public partial class updateorderheader : DbMigration
{
public override void Up()
{
CreateTable(
"dbo.MyFileInfoes",
c => new
{
Id = c.Int(nullable: false, identity: true),
FileName = c.String(),
FileDescription = c.String(),
FilePath = c.String(),
FileType = c.Byte(nullable: false),
FileSize = c.String(),
FileStatus = c.Byte(nullable: false),
IsPublic = c.Byte(nullable: false),
UserId = c.String(),
UserName = c.String(),
CreateDate = c.DateTime(nullable: false),
LastModityDate = c.DateTime(nullable: false),
})
.PrimaryKey(t => t.Id);
}
public override void Down()
{
DropTable("dbo.MyFileInfoes");
}
}
}
4.코드 설정 을 수정 하여 실현 한 후의 조작 은 그리 번 거 롭 지 않다.migrations 디 렉 터 리 의 Configuration.cs 파일 을 수정 하고 자동 이전 을 엽 니 다.
5.프로젝트 Global.aax 의 ApplicationStart 에 다음 코드 줄 을 추가 합 니 다.
System.Data.Entity.Database.SetInitializer(new System.Data.Entity.MigrateDatabaseToLatestVersion<SAssassin.EF.Model.CodeFirst, SAssassin.EF.Model.Migrations.Configuration>());
여기까지 데이터베이스 이전 작업 이 완료 되 었 습 니 다.이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
작업 중 문제 해결 - (win 2003 asp. net) Session 과 페이지 전송 방법 으로 해결 방안 을 정상적으로 사용 할 수 없습니다.또한 F 는 처음에 우리 의 BP & IT 프로젝트 팀 이 Forms 폼 검증 을 사용 했다 고 판단 할 수 있 습 니 다. 페이지 를 뛰 어 넘 는 것 은http://hr.bingjun.cc/MyTask/MyTas...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.