트랜잭션에서 DataContext를 통해 수행하는 많은 삽입이 있습니다. 는 I 개체 두 종류의 삽입 : A와 B를System.Data.Linq.DataContext를 통해 SQL Server에 삽입 할 때 오류가 발생했습니다.
I 같은 많은 SQL 삽입 실행 수행
db.ExecuteCommand(sql.ToString(), processedParams.ToArray());
테이블 B에서 별도로
INSERT INTO A (...) VALUES ('11111111-1111-1111-1111-111111111111',..)
INSERT INTO B (...) VALUES (
'21111111-1111-1111-1111-111111111111',
'11111111-1111-1111-1111-111111111111',...)
을 A.
에 외부 키가때로는 다음과 같은 오류가 나타납니다. 테이블 "A"의 FOREIGN KEY 제약 조건 "FK_B_A"위반. 열 "GUID".
때때로 모든 레코드가 성공적으로 DB에 삽입됩니다. 동적으로 생성 된 GUID를 제외하고 항상 데이터 묶음이 동일합니다. 그것은 B에 삽입과 같은
때로는 A.
순서는 어떻게 든 교환 할 수
오류가 무엇이 잘못 되었습니까? 코드 내에서 커밋을 수행하고 있습니까? 아니면 일괄 삽입과 커밋을하고 있습니까? 트랜잭션을 통해 트랜잭션을 수행 할 때 오류가 커밋 호출 때까지 분명하지 않음을 기억하십시오. .. 하나의 삽입을하고 삽입을 시도하는 것이 무엇인지 알아 내려고 제안합니다. C# 메서드를 사용하여 생성하고 반환하는 새로운 GIUD가 일반적으로 고유 한 키이므로 하드 코딩 및 삽입을 시도하는 경우 같은 키 ... 잘 외래 키 제약 조건을 생성합니다 .. – MethodMan
당신은 거기에 잘못 삽입 된 SQL 삽입 알아? 'INSERT INTO A (열 이름) VALUES (실제 값)'. 쿼리 문자열을 작성하는 위치의 코드 샘플을 사용하면이 문제를 쉽게 찾을 수 있습니다. –
죄송합니다. 샘플을 쓸 때 실수입니다. 때때로 모든 레코드가 DB에 성공적으로 삽입됩니다. – gabba