엔티티 프레임 워크 : 및
SaveChanges()
메소드는 일반적으로 트랜잭션 운영을 효과적으로 처리합니다. 그러나 SaveChanges(false)
와 함께 AcceptAllChanges()
를 사용하는 상황이 우수한 제어와 탄력성을 제공하는 상황이 존재합니다.
가 실패하면 전체 트랜잭션이 롤백됩니다. 비판적으로, ef는 SaveChanges()
, 방해 실패 분석 및 복구에 의한 변경 사항을 폐기합니다.
SaveChanges(false)
: 를 활용합니다
AcceptAllChanges()
컨텍스트 내에서 변경 사항을 폐기하지 않고 데이터베이스 명령을 제출합니다. 이렇게하면 실패가 발생하는 경우 재시도 또는 세부 로깅이 가능합니다.
는 EF의 대부분의 트랜잭션 요구에 충분하지만 TransactionScope
및
<code class="language-csharp">using (TransactionScope scope = new TransactionScope()) { // ... context1.SaveChanges(); context2.SaveChanges(); // ... }</code>
위 내용은 엔티티 프레임 워크에서 Savechanges () 대신 Savechanges (false)와 acceptallchanges ()를 언제 사용해야합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!