我正在将来自内部系统的一堆记录批量添加到我们的 Web 数据库服务器(电子账单类型数据)。我有一个问题,如果存在数据错误(单独的问题),则每次添加之后都会出错。
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 个可能会很好,然后我可能会得到一个无效的日期。没有其他任何东西被添加到服务器中,并且日志会因错误和崩溃而受到猛烈抨击。
如何清除错误的一条记录或仅清除那批记录?所以它可以正确完成,我们可以返回并修复错误,从而添加丢失的数据。
更新:我希望能够只记录错误,删除问题记录并继续。在这种情况下,它恰好是一个日期问题,我不是在寻找解决这个实例,而是在寻找所有未来未知的问题。我该怎么做// Delete out bad record or entire set of records here.
?