SCQL CE 4.0 データベースを持つアプリケーションを開発しており、その ORM として EF 4.3.1 を使用しました。XML ファイルから 100 レコードをロードし、データベースに対して (GUID 列で) チェックし、それらが新しい場合は挿入する必要がありますが、それらの一部が既に存在する場合は、それらのレコードを更新する必要があります。
今、私はこの要件への最良のアプローチは何だろうと思っていますか?
今のところ、次のコードを使用していますが、効率的ではないと思います。
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();