我正在編寫一個C#應用程序來從網站上抓取數據,然後用它來更新數據庫表。將程序生成的數據與存儲在數據庫中的數據進行比較的最佳方法?
我刮的數據與數據庫中的10行有關。如果數據實際發生了變化,我們只想插入數據。我已經編寫了SQL procs來進行更改,但我不確定如何實現第一階段 - 檢查程序生成的數據(從網站上抓取)是否與SQL Server中已存儲的數據不同。
我目前的做法是在我的程序中使用表示數據的類,填充這些對象的實例字典(在這種情況下將會有10個鍵值對),填充網站數據,然後抓取SQL表數據,迭代所有10行,再次使用我的類創建另外10個對象,然後使用我在數據類中寫入的名爲getHash()的函數比較兩組字典對象,例如:
websitedict.get(key1).getHash() == dbdict.get(key1).getHash()
?
等
請給我們架構,理想情況下的一些例子(即使它是虛構的)數據。你打算更新現有記錄嗎?您是否打算將現有記錄標記爲存檔並插入新記錄?如果一個鍵值對改變了,你是想要替換/更新所有的鍵值對,還是隻更改那些鍵值對?等等等等? – MatBailie
@Dems,我有10個對象 - 每個對象有5個字段。我只想更新數據庫中的相應字段,如果從網站抓取生成的相應字段已更改。 – mezamorphic
'請給我們架構,理想情況下舉一些例子(即使它是虛構的)數據。「 – MatBailie