저는 프로젝트에서 엔터티 프레임 워크 코드의 첫 번째 접근 방식을 따르고 있습니다. 몇 가지 문제가있었습니다. 항상 명령을 사용하여 db를 다시 생성해야합니다. 그러나, 지금 나는 그것을 안정되게 얻을 수 있었다. 시나리오가 있고 프레임 워크에서 마이그레이션 스크립트를 만드는 것이 논리적이 아니며 무언가를 놓치고 그 도움이 필요합니다Entity Framework - 코드 첫 번째 접근
시나리오는 다음과 같습니다. - 마이그레이션을 사용하도록 설정했으며 InitialCreate 모든 테이블 셋업이있는 클래스, 나는 그것에 꽤 감명을 받았다. 내가 엔티티에 변경을 때, 예를 들어, 내가 가진 거래 클래스
나는 LenderName, BorrowerName라는 새로운 속성을 추가하고, TEH 추가 이주 스크립트를 실행, 그것은 나를 위해 마이그레이션 스크립트를 생성
public partial class LenderBorrowerName : DbMigration
{
public override void Up()
{
DropColumn("dbo.Deals", "LenderName");
DropColumn("dbo.Deals", "BorrowerName");
DropColumn("dbo.Deals", "Discriminator");
}
public override void Down()
{
AddColumn("dbo.Deals", "Discriminator", c => c.String(nullable: false, maxLength: 128));
AddColumn("dbo.Deals", "BorrowerName", c => c.String());
AddColumn("dbo.Deals", "LenderName", c => c.String());
}
}
문제는 원래 데이터베이스에이 필드가없고이 마이그레이션 스크립트를 통해 데이터베이스에 추가한다고 가정합니다. 이 필드를 업데이트하려면 update-migration -force를 실행하면 위의 up() 함수로 인해 테이블에서 열을 제거하려고 시도하기 때문에 실패합니다. Microsoft가 드롭 스크립트를 추가하는 이유는 개발자가 수동으로 제거해야한다는 것입니까? 도와주세요