内部システムからWebデータベースサーバー(eBillingタイプのデータ)に一連のレコードをバッチ追加しています。データエラー(別の問題)がある場合、その後のすべての追加でエラーが発生するという問題があります。
foreach (InvoiceHeader invoiceHeader in invoiceHeaders)
{
rrn++;
db.AddToInvoiceHeaders(invoiceHeader);
if (rrn >= RECORDS_AT_A_TIME)
{
try
{
db.SaveChanges();
rrn = 0;
}
catch (Exception e)
{
string errorText = "Error in blah blah blah \n\n";
errorText += "Error: " + e.ToString();
Log.Error(errorText);
// Delete out bad record or entire set of records here.
}
}
}
したがって、最初の500はうまくいく可能性があり、それから私は無効な日付を取得する可能性があります。他に何もサーバーに追加されず、ログはエラーとクラッシュで非難されます。
エラーのある1つのレコードをクリアするか、そのバッチのレコードをクリアするにはどうすればよいですか?したがって、正常に終了し、戻ってエラーを修正し、欠落しているデータを追加し直すことができます。
更新:エラーをログに記録し、問題のレコードを削除して先に進むことができるようにしたいと思います。この場合、それはたまたま日付の問題であり、私はこの1つのインスタンスを解決することを探していませんが、将来のすべての未知の問題を探しています。どうすればいい// Delete out bad record or entire set of records here.
ですか?