2013-08-27 2 views
3

먼저 Entity Framework 코드에 문제가 있습니다.Entity Framework 코드 첫 번째 열 이름 문제

내 SQL 데이터베이스에 'myId'라는 기존 열이 있습니다. 나는 그렇게처럼 내 클래스에 추가하고 :

public virtual int? myId { get; set; } 

내가 실행 갱신 데이터베이스 -connectionStringName를 '[사이트 이름]'-force

모두 성공적으로 실행하지만 난 기존의 볼 데이터베이스에서 볼 때 열이 'myId1'로 변경되었습니다. 기존 열의 이름이 변경되고 사용되지 않는 이유를 모르겠습니다. 보시다시피 이름에 '1'이 추가되었습니다 ....?

모든 아이디어를 기꺼이 받아보실 수 있습니다!

+0

열이 여전히 존재하는 경우 데이터베이스를 업데이트해야하는 이유는 무엇입니까? update-database의 목표 중 하나는 데이터베이스 스키마를 업데이트하여 모델과 일치하도록하는 것입니다. 스키마에서 새 필드 => 새 필드. 이름을 사용할 수 없으므로 새 이름이 만들어집니다. – tschmit007

+0

업데이트를 실행하지 않으면 다음과 같은 메시지가 나타납니다. "데이터베이스가 작성된 이후 '[DBCContext]'컨텍스트를 지원하는 모델이 변경되었습니다." – user1323563

+0

처음 데이터베이스가 어떻게 생성 되었습니까? 즉, 왜 myId 열이 있습니까? – tschmit007

답변

0

myId가 PK가 아닌 것으로 가정합니다!

 

`public int? myId { get; set; }` 
 

 

`AlterColumn("tablename", "myId", c => c.Int(nullable: true));` 
 

그런 다음 업데이트 데이터베이스 명령을 실행으로 마이그레이션을 추가 할 수 있습니다.

관련 문제