2010-08-11 2 views
0

wpf의 엔티티 프레임 워크를 사용하여 식별 열과 세 개의 "일반"열이있는 테이블에 행을 삽입하려고합니다. 그러나이 오류 메시지가 나타납니다. IDENTITY_INSERT가 OFF로 설정된 경우 'MyTable'테이블의 ID 열에 명시 적 값을 삽입 할 수 없습니다. 여기에 내 코드 조각이 있습니다. 이름, 성, 나이 및 사용자 ID가있는 사용자 테이블에 추가하려고합니다. (ID) :ID 열이있는 테이블에 삽입

 var newuser = new User(); 
     newuser.SurName = surNameTextBox.Text; 
     newuser.Name = nameTextBox.Text; 
     newuser.Age = Int32.Parse(ageTextBox.Text); 
     context.AddToUsers(newuser); 
     context.SaveChanges(); 

누구든지이 문제를 해결할 수 있습니까?

+0

사용자 ID 값을 설정하려고합니까? (예제 코드에는 없지만 어딘가에 있을까요?) – Tobiasopdenbrouw

+0

나는 그렇게 생각하지 않지만 다시 체크 아웃 할 것입니다. 증서에 나는 userID가 어떻게 증가 할까하고 궁금해했다. 내가 직접 증가 시키거나 SQL은 나를 위해 그것을 하는가? – cemregoksu

+0

나는 당신이 의미하는 것을 이해할 수 없었고, 지금 내가 원하는 것을 이해했는지 확신 할 수 없다. =) 코드 스 니펫에 주어진 열을 할당하기 만하면 SQL에서 userID를 단독으로 설정하기를 원한다. – cemregoksu

답변

1

Identity 열은 실제로 자체를 업데이트합니다. 즉, 그 용도입니다.

사용자를 업데이트하는 데 사용하는 유일한 코드 인 경우 DataContext의 AddToUsers 메서드를 살펴 보겠습니다.

+0

어디서나 내가 userID를 할당했지만 디버깅하는 동안 찾지 못했습니다, 나는 UserID가 AddObject 메소드로 전달되는 사용자 객체에 대해 0으로 할당 된 것처럼 보입니다. 하지만 이유와 방법을 모릅니다. – cemregoksu

+0

userID가 int이고 일종의 정수가 아닌 경우 0이됩니다. –

+0

sql에 문제가 있습니까? 나는 그것을 위해 뭔가해야합니까? 내가 어떻게 고칠 수 있니? – cemregoksu

2

내가 엔티티 프레임 워크에 익숙하지 해요,하지만 호기심이 ID 열에서 삽입을 가능하게하는 MS SQL 명령입니다 : 내가 제정신을 Wonko에 동의

SET IDENTITY_INSERT tablename ON 

문제입니다 거의 확실히 AddToUsers 메서드에서.

+0

+1 정보는 +1, +1은 동의합니다. :) –

관련 문제