엔티티 프레임 워크로 업데이트 문
-
19-08-2019 - |
문제
간단한 질문, 하나의 엔티티를 업데이트 할 때이 쿼리를 엔티티 프레임 워크로 달성 할 수 있습니까?
update test set value = value + 1 where id = 10
해결책
실제로이 형식 아래에 있지 않습니다.
기준과 일치하는 모든 엔티티를 선택하고,이를 통해 업데이트해야합니다.
세트가 거대 할 수 있기 때문에 DB에서 바로 할 일을 찾고 있다면 SQL을 직접 사용해야합니다. (EF가 LINQ에서 SQL에서 직접 업데이트 쿼리를 직접 실행하는 방법이 있는지 기억이 나지 않습니다).
다른 팁
배치 업데이트 기능을 사용하십시오 엔티티 프레임 워크 확장 라이브러리, 이와 같이:
dbContext.Tests.Update(t => t.Id == 10, t => new Test() { Value = t.Value + 1 });
그것은 일반적으로 조금 더 제한 될 것입니다.
var myEntity = context.First(item => item.id == 10);
myEntity.value += 1;
context.SaveChanges();
유사한 SQL을 생성 해야하는 경우 프로파일 러가 실제로 생성되는 SQL을 확인할 수 있지만 진술과 매우 유사해야합니다.
제휴하지 않습니다 StackOverflow