2009-07-27 2 views
3

내 프로젝트에서 엔티티 프레임 워크를 사용하고 있는데 악몽이었습니다!Entity Framework - SaveChanges()가 생성 된 Identity 키를 가져 오지 않습니다.

SQL DB가 있는데 Form이라는 테이블이 있습니다.

양식 ID가 PK이고 신원이 자동으로 증가합니다.

이 시간 나는이 일을 해요 : 일주일 전에 ID 및 form.ID가 삽입 한 후 생성 된 키를했지만, 지금은

모르겠어요 0이

Dim form as int32 
Dim dbform As New Entities1 
Dim form696 As New Form 

dbform.AddToForm696(form) 
dbform.SaveChanges() 

ID = form.ID 

이것이 작동을 멈추게 된 원인.

필자는 삽입 테이블의 이름을 변경하고 여러 테이블에 대한 저장 프로 시저를 삭제하고 업데이트해야했기 때문에이 모든 것을 다시 매핑해야했습니다. 어쩌면 내가 잘못한 것을했을 수도 있지만 시간과 시간을 들여다 보니 모든 것이 괜찮아 보입니다.

단서가있는 사람이 있습니까?

답변

3

이 문제는 패치로 해결 된 것 같습니다. 데이터 모델이 여전히 작동하지 않는 경우 데이터 모델을 제거하고 다시 추가해야합니다. EF는 지금이 문제가 덜한 것 같습니다.

+1

나는 최신 EF 4.1을 가지고 있으며 ID를 반환하지 않습니다. – Korayem

0

확인 ... 내가했다이

http://blogs.microsoft.co.il/blogs/bursteg/archive/2007/12/17/ado-net-entity-framework-tools-stored-procedures.aspx

잊었다 "바인딩 결과 열을 사용하고, 엔티티 컬럼에 새 값을 매핑합니다."

엔티티 Fw로해서는 안되나요?!

+0

이것은 모델이 함수 나 저장 프로 시저에 매핑되는 경우에만 유용합니다. 테이블 매핑에 대한 결과 열 바인딩이 없습니다. 모델 바인딩은 무엇입니까? –

관련 문제