인프런 커뮤니티 질문&답변

slam_poet님의 프로필 이미지

작성한 질문수

C# Xamarin Forms 자마린 폼즈 API 강의 + 간단한 API 만들기

API 통신을 위한 자마린 프로그램 만들기

감사합니다 Transaction 질문 드립니다

22.07.21 22:11 작성

·

189

0

감사합니다 덕분에 어찌저찌 정말 많은걸 쌓아나가고 있고 1주일 날밤까서 회사에서 쓰러지면서 공부해서

.net6로 http api구성 할수 있게 되었습니다

질문드립니다

엔티티 프레임 워크 방식으로 디비를 수정하여 저장할떄 세이브 어싱크 라는 메소드를 실행해야 된다고 하셨습니다

그럼 이게 그전까지는 수정을 하지 않는다는 것이니

굿이 이 구조에서는 mssql의 쿼리방식에서 쓰던

트렌젝션 옵션이 없어도 되는듯한 느낌이 듭니다

그런데 검색해보면 엔티티프레임워크 방식에서도

트렌젝션이 있는것 같던데 이것을 써야하는게 맞는건지

어떻게 쓰는지 알려주시면 감사하겠습니다

 

답변 1

0

깊알못nodeep님의 프로필 이미지
깊알못nodeep
지식공유자

2022. 07. 23. 10:35

안녕하세요.

async를 사용하는 이유는 비동기를 위해서 사용합니다.

async와 await를 사용할 경우 쓰레드가 정지되지 않고 해당 코드가 실행됩니다.

강의에서는 DB의 데이터가 많지 않기 때문에 바로 반응할 수 있었지만,

저장된 데이터가 많아질 경우 혹은 네트워크 속도가 느릴 경우 

반응이 느릴수 밖에 없습니다.

이럴 경우 async / await를 사용하지 않을 경우 앱이 순간 멈추는 현상이 발생합니다.

그래서 이러한 현상을 최소화 하기 위해 비동기 메소드인 async를 사용합니다.

엔티티프레임워크에서 트랜잭션을 작성하는 방법은 관련 링크를 보시면

예제로 나와 있습니다.

https://docs.microsoft.com/ko-kr/ef/ef6/saving/transactions