2017-10-31 3 views
0

테이블에 수동으로 데이터를 삽입하려고합니다. 내가 그래서,이 오류가 않을 때 는이 마이그레이션 태그 때문에이 문제가 error Image attached코드 첫 번째 마이그레이션을 사용할 때 Visual Studio의 서버 탐색기를 통해 테이블에 수동으로 데이터를 삽입 할 수 없습니다.

+0

오류는 다음과 같이 설명합니다. nullable이 아닌 외부 키 MembershipTypeId가 있습니다.이 키는 해당 테이블의 기존 값으로 채워야합니다. 마이그레이션과 관련이 없습니다. 그걸 null 허용할까요? –

+0

nullable이되기를 원하지 않습니다. @SteveGreene 테이블에 데이터를 삽입하려면 어떻게해야합니까? –

답변

0

도와주세요 해결하는 방법 [아래 이미지 참조], 그리고 당신이 그 메커니즘 당신의 테이블에 데이터를 가져 오기 위해 노력하고 나타납니다 Seeding이라고합니다. 이 코드가 실행 update-database을 실행할 때, 지금

protected override void Seed(MyDbContext context) 
{ 
    context.Customers.AddOrUpdate(
     c => c.Name, // Use Name (or some other unique field) instead of Id 
     new Customer 
     { 
      Name = "Customer 1", 
      IsSubscribed = false, 
      MembershipTypeId = 1 // A value from MembershipType table 
     }, 
     new Customer 
     { 
      Name = "Customer 2", 
      IsSubscribed = true, 
      MembershipTypeId = 2 // A value from MembershipType table 
     }); 

    context.SaveChanges(); 
} 

과 고객이 데이터베이스에없는 경우, 그들은 추가됩니다 : 당신은이 같은 종자() 메소드를 오버라이드 (override) 할 수 있습니다. 데이터베이스를 삭제하면 다음에 마이 그 레이션을 실행할 때 추가됩니다.

수동으로 삽입하려면 해당 열에 올바른 MembershipTypeId를 입력해야합니다 (올바른 값을 찾기 위해 MembershipType 테이블을 검색하십시오).