SCQL CE 4.0 데이터베이스가있는 응용 프로그램을 개발 중이며 EF 4.3.1을 ORM으로 사용했습니다. XML 파일에서 100 개의 레코드를로드해야하며 (GUID 열을 기준으로) 데이터베이스에 대해 확인해야합니다. 새 레코드 인 경우 레코드를 삽입해야하지만 일부 레코드가 이미있는 경우 해당 레코드를 업데이트해야합니다.100 개의 레코드 업데이트 성능 고려 사항
이제이 요구 사항에 가장 적합한 방법이 궁금합니다.
현재 다음 코드를 사용하고 있지만 효율적이라고 생각하지 않습니다.
foreach(var record in xmlRecords)
{
var existingRecord = context.Records.SingleOrDefault(r => r.Guid == record.Guid);
if(existingRecord == null)
context.Records.Add(record);
else
context.Records.ApplyCurrentValues(record);
}
context.SaveChanges();
이 프레임 워크에 대해서는 잘 모르겠지만 SQL이나 외부 데이터베이스를 다룰 때 유일한 조언은 자신의 함수를 사용하는 것입니다. C 또는 C++ 또는 다른 언어로 비즈니스 로직을 형성하지 말아야합니다. SQL 문서에서 적절한 함수를 검색하고 해당 함수 만 사용하여 작업을 수행하게하십시오. – user1824407
전적으로 user1824407에 동의하지 않습니다 ... 귀하의 비즈니스 로직을 데이터 레이어가 아닌 애플리케이션에 유지하는 것이 옳은 결정이라고 생각합니다. –