카테고리 없음
[엔티티 프레임 워크] Entity Framework 업데이트 여러 행
행복을전해요
2021. 2. 22. 04:36
I know I'm late, but what about ForEach
?
objectToSave.widgets.ForEach(o => { o.Prop1 = Val1, o.Prop2 = Val2 });
Db.ObjectContext.SaveChanges();
-------------------Entity Framework
(적어도 EF5.0까지, 상황이 변경된 EF6.0에있을 수 있음) 일괄 업데이트를 수행 할 수 없습니다. 각 행 업데이트에 대해 단일 쿼리를 생성합니다. 확장 메서드가 있는 EntityFramework.Extended 라이브러리를 살펴보면 일괄 업데이트 및 일괄 삭제를 수행 할 수 있습니다.
EF의 변경 추적 엔진은 충분히 느리고 모든 속성 변경시 실행됩니다.
이것이 귀하의 경우에 해당되는 경우 사이클을
db.Configuration.AutoDetectChangesEnabled = false;
for (int i = 0; i < objectToSave.widgets.Length; i++)
{
// here is the logic
}
Db.ObjectContext.DetectChanges();
Db.Configuration.AutoDetectChangesEnabled = true;
-------------------다른 스레드에서 여러 작업을 시도 할 수 있습니다. 이것은 항상 더 빠릅니다. 위젯 그룹을 잡고 하나의 스레드에서 변경하십시오. 다른 스레드의 다른 위젯 그룹 등. 그룹이 작을수록 (더 많은 스레드) PC가 반대를 말할 때까지 더 빠를 것입니다. 참조 여기에 , 그것을 할 수있는 하나의 방법이다.
출처
https://stackoverflow.com/questions/22079993