-
카테고리
-
세부 분야
게임 프로그래밍
-
해결 여부
미해결
RankingService 클래스의 UpdateGameResult 메서드에 대한 질문
22.02.23 23:51 작성 조회수 205
0
UpdateGameResult에서
// Update
public Task<bool> UpdateGameResult(GameResult gameResult)
{
var findResult = _context.GameResults
.Where(x => x.Id == gameResult.Id)
.FirstOrDefault();
if (findResult == null)
return Task.FromResult(false);
findResult.UserName = gameResult.UserName;
findResult.Score = gameResult.Score;
_context.SaveChanges();
return Task.FromResult(true);
}
여기서 _context.SaveChanges() 를 하기 전에 DeleteGameResult 메서드처럼
_context.GameResults.Update(findResult) 같은 함수가 있겠다 라는 생각이 들었는데 없어서 혼란스러워요
저렇게 하면 지역변수 findResult의 값만 바뀌는 것 아닌가? 생각했는데 실제로 데이터베이스의 값이 바뀌는 걸 보고 원래 저렇게 쓰는건가라는 생각이 들긴하는데 Update만 저렇게 쓰니 원리가 궁금하네용
답변해주시면 정말 감사하겠습니다!
답변을 작성해보세요.
2
Rookiss
지식공유자2022.02.24
신기하게도 객체를 건드리고 SaveChanges()를 때리면,
바뀐 부분을 귀신 같이 인지해서 DB에도 적용을 시킵니다.
EF Core의 사용법은 Part8에서 자세히 다룹니다.
답변 1