2

SQL Server에서 이미 생성 한 데이터베이스에서 생성 된 모델을 사용하여 EF에서 새 엔티티를 생성하면 엔티티의 ID를 설정할 수있는 옵션이 있습니다. (기본 키) 내 코드 내에서 새 엔터티를 선언하는 동안.Linq를 통해 엔티티에 새 엔티티에 기본 키 값을 할당하는 데 혼란이 있음

예를 들어 나는이 같은 내 코드 내 '가치'테이블의 새 인스턴스를 만들 때

Value newValue = Value.CreateValue(int valID);

내가 숫자를 전달

유효한 12 말 :

Value newValue = Value.CreateValue(12);

하지만 SQL Server에서 값 테이블의 데이터를 확인할 때 새 엔터티의 기본 키 값 valID가 12가 아닌 다른 값으로 할당됩니다 (예 : 7). 왜 이런 일이 발생합니까?

미리 감사드립니다.

+2

은 SQL Server의 ID 필드의 IDENTITY가 true로 설정되어 있습니까? – hcb

+0

그 트릭을했다, 감사합니다 hcb. –

답변

2

데이터베이스의 기본 키가 AUTONUMBER (Enterprise Manager에서 테이블의 디자인 모드로 이동하여 열 속성 확인)으로 설정되어 있는지 확인하십시오. 즉, 데이터베이스가 전달하는 모든 값을 무시하고 기본 키 자체를 생성합니다.

+0

예, 그게 전부입니다. 위에서 언급 한 hcb와 같이 valID 열의 IDENTITY 속성이 true로 설정되었습니다. Jakub와 hcb 감사합니다. –

관련 문제