2011-02-08 1 views
0
_db.Comments.InsertAllOnSubmit(comments); 
_db.SubmitChanges(); 

이 테이블에는 IGNORE_DUP_KEY = ON이있는 고유 인덱스가 있습니다. 중복을 삽입한다는 것을 알고 있습니다. 그냥 무시하고 싶습니다. 수동으로 각 레코드를 확인하지는 마십시오. 속도가 느려질 수 있습니다.중복 키 옵션 및 ID 열 무시를 사용하여 고유 인덱스가있는 SQL에서 Linq로 변환

다음을 throw합니다.

InvalidOperationException : nullable 값 형식 인 System.Int32 형식의 멤버에 null 값을 할당 할 수 없습니다.

기본 키 필드 (그것은 IDENTITY 열) L2S 반환 된 값이 null이기 때문에이 가정합니다. 나에게 이것은 거의 버그 같다.

누구나 try/catch 또는 수동 검사를 통해 개별 삽입물 이외의 아이디어가 있습니까?

답변

0

nullable로 속성을 변경할 수 있습니다. 이것은 솔루션보다는 해결 방법 인 것 같습니다. 생성 된 코드에서 변경하거나 (나쁜 생각) 하위 클래스와 새 키워드를 만들 수 있습니다.

int? 신분증;

+0

생성 된 코드를 변경하고 싶지는 않습니다. 서브 클래스로 어떻게 처리 할 수 ​​있고, linq를 사용하여 id 속성을 매핑하는 일반적인 기능을 유지할 수 있습니까? 지금은 한 번에 1 개를 제출하고 예외를 잡는 중입니다. / –