Oracle에 두 개의 테이블이 있습니다. 그중 하나는 MtcUnverified 초는 MtcExit입니다.
private bool Verify(Mtcexittran mtcExitTran)
{
try
{
var mtcUnverified = _centraldbContext.Mtcunverifiedtran.FirstOrDefault(a => a.Transactionid.Equals(mtcExitTran.Transactionid));
if (mtcUnverified == null)
{
return false;
}
_centraldbContext.Mtcunverifiedtran.Remove(mtcUnverified);
_centraldbContext.Mtcexittran.Add(mtcExitTran);
_centraldbContext.SaveChanges();
return true;
}
catch (Exception ex)
{
return false;
}
}
내 목표는 mtcunverified 테이블에서 레코드를 삭제하고 mtcexit 테이블에 삽입하는 것입니다. 이 코드에서 transactionscope를 사용해야합니까? 레코드가 mtcunverified 테이블에서 삭제되고 mtcexit에 삽입되지 않을 가능성이 있습니까? mtcexit에 레코드를 추가 할 수없는 경우 mtcunverified 테이블에서 삭제를 롤백하고 싶습니다. savechanges 메소드가 이미 시작 트랜잭션을 작성 중입니다. 따라서 두 프로세스 중 하나라도 문제가 있다면 savechanges가 두 프로세스를 롤백 할 것이라고 생각합니다. 아니면 transactionscope를 사용해야합니까? 당신의 도움을 주셔서 감사합니다.
- 답변 # 1
관련 자료
- c - 왜 오류가 발생하지 않습니까? 이 줄들 사이 — typedef int floa [1];플로 아 a [5] = {5,6,1,2,6,8};
- bash - Makefile에서이 줄들은 무엇을 의미합니까?
- r - TIC TOC가이 두 줄의 코드 중 어떤 것이 가장 빠르다고 말할만큼 정확하지 않습니다
- windows - 이 코드 줄이 어떻게 작동하는지 설명하고 바이러스가 있는지 여부를 설명하고 싶습니까?
- c++ - dr memory - 이 라인은 실제로 메모리 누수를 유발합니까?
- python - 이 두 줄의 코드를 한 줄에 넣는 방법이 있습니까?
- c++ - 아래 줄에서 (map [x] [y] = 2;, map [x] [y] = 3;, map [x] [y] = 4;) 무엇을합니까?
- mysql - 이 두 줄의 PHP 코드의 의미는 무엇입니까?
- python - 차이점 해싱 및 이러한 코드 줄이 수행하는 작업 이해?
- c# - 차트에서 간격을 유지하는 방법은 무엇입니까? Designer에서 필요한 코드 행이 계속 사라집니다
- java - 누군가이 두 줄의 의미가 무엇인지 설명 할 수 있습니까?
- CosmosDB에 문서를 저장하기위한이 두 코드 줄의 차이점은 무엇입니까?
- c# - HostingEnvironmentQueueBackgroundWorkItem의 트랜잭션 범위가 시간 초과되었습니다
- 이 스칼라 코드 줄은 동일합니까?
- 이 ARM 어셈블리 라인은 무엇을합니까?
- web - CSS에서이 줄을 사용하는 이유는 무엇입니까
- ios - 스위프트 4로 작성된이 두 줄은 같은 것입니까?
문서의 "데이터/트랜잭션 저장"아래에
따라서 트랜잭션을 사용하여 EF를 중지하기위한 작업을 수행하지 않은 경우 기본값은 괜찮습니다.
더 고급 트랜잭션 제어를 원하면 트랜잭션이 여러 호출에 걸쳐
SaveChanges
, 롤백 할 수있는 "savepoints"와 함께 문서의 동일한 부분에 설명되어 있습니다.