이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 49435|회답: 1

[출처] EF 부속 타입 "XXXX"의 엔티티는 다른 ...

[링크 복사]
게시됨 2021. 5. 12. 오전 9:43:53 | | |
EF는 "XXXX" 타입의 엔티티를 추가하는데, 같은 타입의 다른 엔티티가 이미 동일한 기본 키 값을 가지고 있기 때문에 실패합니다. "첨부" 메서드를 사용하거나 엔터티 상태를 "변경 없음" 또는 "수정됨"으로 설정할 때,

같은 유형의 다른 엔티티들이 이미 동일한 기본 키 값을 가지고 있기 때문입니다. 이 동작은 "첨부(Attach)" 방법을 사용할 때나, 도면 내 어떤 엔티티가 키 값이 충돌할 경우 상태를 "변경되지 않음" 또는 "수정됨(Modified)"으로 설정할 때 발생할 수 있습니다
이는 일부 엔티티가 새롭고 데이터베이스에서 생성된 키 값(새로운 엔티티)을 받지 않았기 때문일 수 있으며, 이 경우 그래프는 "추가" 메서드 또는 "추가된" 엔티티 상태를 사용하여 추적되고, 비새 엔티티의 상태는 "변경 없음" 또는 "수정됨"으로 설정됩니다.
사실 이 오류는 EF가 트랜잭션을 열 때 이미 EF 맥락에서 동일한 기본 키를 가진 데이터가 존재한다는 점이며, 저는 개인적으로 여러 상황에서 이 문제를 겪고 있습니다:

상황 1:

동일한 데이터를 테이블에서 수정하거나 반복하는 경우(예: 동일 품목의 재고 수량을 반복하는 경우), 이 경우 컨텍스트 캐시가 처음으로 삭제되지 않습니다

코드는 다음과 같습니다:


여기서는 루프가 처음에는 오류를 보고하지 않고, 두 번째는 오류가 발생합니다

용액:


상황 2:

루프 연산은 먼저 데이터 조각을 추가한 후 데이터를 수정합니다

코드는 다음과 같습니다:


여기에는 특히 새로운 EF나 새로운 엔터티에 대한 오류가 보고됩니다

용액:








이전의:레디스 벤치마크 성능 테스트
다음:ASP.NET Core (9)의 미들웨어 미들웨어에 대한 상세한 설명.
게시됨 2021. 9. 22. 오후 8:55:57 |
배우기 시작해...
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com