문제

간단한 질문, 하나의 엔티티를 업데이트 할 때이 쿼리를 엔티티 프레임 워크로 달성 할 수 있습니까?

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을 확인할 수 있지만 진술과 매우 유사해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top