Ich muss Daten aus einer Textdatei in eine Flat-File-Datenbank importieren. Ich bin mir sicher, dass es einen schnelleren Weg gibt, alle Daten in die Datenbank zu laden, aber ich weiß nicht wie.schnellere Methode zum Importieren von Daten aus der Textdatei
private void ImportButton_Click(object sender, EventArgs e)
{
string Path = string.Empty;
OpenFileDialog ofd = new OpenFileDialog();
ofd.Filter = "Text File|*.txt";
ofd.ShowDialog();
if (ofd.FileName == string.Empty) return
Path = ofd.FileName;
string data;
using (var sr = new StreamReader(Path))
{
data = sr.ReadToEnd();
}
var items = data.Split(new[] { "\r\n" }, StringSplitOptions.RemoveEmptyEntries);
var count = 0;
foreach (var info in items.Select(ItemInfo.FromText).Where(info => info != null))
{
count++;
info.Index = ++Envir.ItemIndex;
Envir.ItemInfoList.Add(info);
}
MessageBox.Show(count + " Items have been imported");
UpdateInterface(true);
}
Das sieht aus wie es wäre ziemlich schnell. Sie könnten den Code verkleinern, indem Sie 'var items = File.ReadAllLines (Path);'. – Enigmativity
'Envir.ItemInfoList.Add (info);' - Ist das, wo Sie in die db schreiben? –
Sie sagen nicht, wie Envir.ItemInfoList implementiert ist. Wenn es sich um einen synchronen Aufruf an etwas wie Entity Framework handelt, könnte dieser Schritt verbessert werden. Unterstützt die DB Masseneinfügung? Untersuche das. –