> 백엔드 개발 > C++ > ASP.NET MVC에서 엔티티를 편집 할 때 엔티티 키 충돌을 해결하는 방법은 무엇입니까?

ASP.NET MVC에서 엔티티를 편집 할 때 엔티티 키 충돌을 해결하는 방법은 무엇입니까?

Linda Hamilton
풀어 주다: 2025-01-30 08:01:09
원래의
520명이 탐색했습니다.

How to Resolve Entity Key Conflicts When Editing Entities in ASP.NET MVC?
ASP.NET MVC Entity 업데이트의 주요 충돌 문제

후 요청을 통해 ASP.NET MVC에서 엔티티를 업데이트 할 때 다음 오류가 발생할 수 있습니다.

이 오류는 엔티티를 에 첨부하려고 시도하는 반면, 동일한 기본 키를 가진 다른 엔티티는 컨텍스트의 객체 그래프 내에 이미 존재합니다. 는 엔터티를 병합하려고 시도하여 충돌을 일으킨다.

.

시나리오 및 근본 원인

컨트롤러 내에서 'A'엔티티를 편집한다고 상상해보십시오. Get Action은 를 사용하여 엔티티를로드합니다. 그런 다음 사후 조치는 첨부 및 업데이트를 시도합니다. 그러나 동일한 기본 키를 가진 다른 'A'엔티티가 다른 곳에로드되면 (예 : 사용자 액세스 유효성 검증 중) 추적 충돌이 발생합니다.
<code>Attaching an entity of type 'MODELNAME' failed because another entity of the same type already has the same primary key value.</code>
로그인 후 복사
.

해상도 DbContext 를 사용한 해상도 가장 효과적인 솔루션은 DBContext가 유효성 검사에 사용되는 엔터티를 추적하는 것을 방지하는 것입니다. 메소드를 사용하십시오 : DbContext

검증 엔티티가 업데이트되는 엔티티를 방해하지 않도록합니다. 대안 : 메소드 다른 접근법은 메소드를 사용하여 수정하기 전에 에서 엔티티를 분리하는 것과 관련이 있습니다. 이것은 추적 충돌을 방지합니다. 그러나 분리가 코드의 다른 부분에 영향을 줄 수 있으므로이 솔루션을 구현하기 전에 그 의미를 신중하게 고려하십시오.

위 내용은 ASP.NET MVC에서 엔티티를 편집 할 때 엔티티 키 충돌을 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿