0
我必須將數據從文本文件導入到平面文件數據庫。我確信有一種更快的方式將所有數據加載到數據庫中,但我不知道如何。更快速的方法從文本文件導入數據
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);
}
看起來它會很快。你可以通過寫'var items = File.ReadAllLines(Path);'來使代碼變小。 – Enigmativity
'Envir.ItemInfoList.Add(info);' - 這是你寫入數據庫的地方嗎? –
你不說Envir.ItemInfoList是如何實現的。如果它是對像Entity Framework之類的同步調用,那麼可以改進這一步。數據庫是否支持批量插入?調查一下。 –