2008-10-14 3 views
5

6 개의 열이있는 데이터베이스 테이블이 있습니다. 기본 키는 6 개의 열 중 5 개로 구성된 복합 키입니다.복합 키와 함께 ADO.NET SQLCommandBuilder를 사용할 수 있습니까?

SqlClient.SqlCommandBuilder.GetDeleteCommand을 사용하여 행을 삭제하려고합니다.

SELECT TABLENAME.COL1, TABLENAME.COL2, TABLENAME.COL3, 
     TABLENAME.COL4, TABLENAME.COL5, TABLENAME.COL6 
FROM TABLENAME 

이 문제가 복합 키가 될 수 없습니다 :

"System.InvalidOperationException : Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does not return any key column information."

SelectCommmand 테이블의 모든 열을 포함하는 :

그러나 나는 다음과 같은 오류는 무엇입니까?

답변

1

귀하의 문제가 복합 키라고 생각하지 않습니다. 설명서에 따르면 기본 키는 단일 열일 필요는 없습니다. 문을 자동으로 생성하는 데 필요한 다른 제한 사항이 있습니다. this document을 읽어보고 무엇이든 놓치지 않았는지 확인하십시오.

+0

감사합니다. 유용한 문서입니다. 불행히도 언급 한 제한 사항 중 아무 것도 내 코드에 적용되지 않는 것 같습니다. –

관련 문제