我在管道分隔文本文件和數據庫表中包含具有相同模式的數據,包括主鍵列。對兩個相同的數據源進行迭代
我必須檢查文件中的每一行是否存在於表中,如果不爲該行生成INSERT語句。
該表具有30列,但在這裏,我已經簡化此示例:
ID Name Address1 Address2 City State Zip
ID是運行標識列;因此如果在表中找到文件中的特定ID值,則不應該爲此生成insert
語句。
這裏是我的嘗試,這並不覺得正確的:
foreach (var item in RecipientsInFile)
{
if (!RecipientsInDB.Any(u => u.ID == item.ID))
{
Console.WriteLine(GetInsertSql(item));
}
}
Console.ReadLine();
編輯:對不起,我錯過了詢問的實際問題;這個怎麼做? 非常感謝您的幫助。
編輯:表有百萬加上行,而文件有50K行。這是一次性的事情,而不是一個永久的項目。
你的問題是什麼? – 2013-03-20 15:16:45
@BalaR我想問如何做到這一點。抱歉。 – FMFF 2013-03-20 15:19:12
拋開感覺,當你運行該代碼時發生了什麼? – 2013-03-20 15:19:50