我阅读了很多关于这个的帖子,但仍然需要一些帮助来理解这一点。
CodeAnalysis 是说这个方法是两次处理对象。实际上,它警告我方法中的两个对象;一次用于对象file.InputStream
,一次用于reader
对象
这是我的代码:
public void SaveCsvData(HttpPostedFileBase file, int vendorId)
{
var listCsvImport = new List<CsvImport>();
try
{
using (var reader = new StreamReader(file.InputStream))
using (var csvReader = new CsvHelper.CsvReader(reader))
{
int count = 0;
while (csvReader.Read())
{
...<snip>...
listCsvImport.Add(record);
}
_db.CsvImports.AddRange(listCsvImport);
_db.SaveChanges();
}
...<snip>...
}
catch (CsvBadDataException ex)
{
log.Error("Invalid data in the CSV file, terminating process...");
throw;
}
catch (Exception ex)
{
log.Error("Csv import failed, no data was saved.", ex);
throw;
}
}
谢谢