我想讓我的asp.net WebAPI Web服務讀取.csv
並使用實體框架更新數據庫。 .csv
文件約爲20,000-30,000行。WebAPI EF更新30,000行數據很慢
截至目前我正在使用TextfieldParser
來讀取.csv
,.csv
文件的每一行我創建一個新的對象,然後將對象添加到EF上下文中。
一旦完成將所有行的情況下,然後我打電話db.SaveChanges();
看着我注意到它要求每行......這需要很長的時間的更新語句控制檯。有沒有更好的方法來實現這一目標?
if (filetype == "xxx")
{
using (TextFieldParser csvReader = new TextFieldParser(downloadFolder + fileName))
{
csvReader.SetDelimiters(new string[] { "," });
csvReader.HasFieldsEnclosedInQuotes = true;
int rowCount = 1;
while (!csvReader.EndOfData)
{
string[] fieldData = csvReader.ReadFields();
//skip header row
if (rowCount != 1)
{
var t = new GMI_adatpos
{
PACCT = fieldData[3]
};
db.GMI_adatpos.Add(t);
}
rowCount++;
}
}
}
db.SaveChanges();
Update語句?這應該會生成插入語句。什麼是「很長一段時間」?你不會在眨眼之間得到它。你現實的期望是什麼? –