これは私のコードです:ExecuteSqlCommandを使用してEntity Frameworkでレコードを削除するにはどうすればよいですか?
using (TransactionScope scope = new TransactionScope(TransactionScopeOption.Required, transactionOption))
{
foreach (ManufacturecodeEntity mcodeEntity in ManufacturecodeEntities)
{
ManufacturecodeEntity pcodeEntity = mcodeEntity.Parent;
pcodeEntity.IsCurrent = true;
UnitOfWork.ManufacturecodeRepository.Update(pcodeEntity);
}
UnitOfWork.DbContext.Database.ExecuteSqlCommand("Delete from manufacturecodes where detailstate_id=" + Id.ToString());
UnitOfWork.SaveChanges();
scope.Complete();
}
しかし、私は方法ExecuteSqlCommand
に実行したときに、私のアプリケーションが停止し、その後、タイムアウト例外がスローされます。
レコードが1500を超えるため、Delete
とSaveChanges
メソッドを使用すると、レコードを削除するのに60秒かかるため、結果を受け入れることができません。
私はパフォーマンスを向上させるためにExecuteSqlCommand
メソッドを試しています。今何か間違っているようです。
よろしくお願いいたします。
同じ結果、タイムアウト例外 – user2155362