2011-07-14 125 views
0

我正在用Quartz.NET構建一個調度系統。 我的第一種方法是實體框架獲取最新數據

  1. 從數據庫加載所有計劃任務(前端計劃定義)。
  2. 通過它們全部並使用Quartz(作業/觸發器等)進行設置。
  3. 每分鐘檢查數據庫中是否有任何更改,以便我可以更新我的觸發器/作業。

到目前爲止,我已經完成了步驟1-3,但是我不確定如何只加載修改過的數據 - 並更新其Quartz定義。

目前我使用 var activities = Entities.Activities.Where(w => !w.IsDeleted);加載所有數據(未刪除)。我認爲可能有類似Entities.Activites.Where(w=>w.IsModified)。儘管如此,我並不熟悉實體框架。

有沒有一種方法或參數可以讓我只加載修改(增量)數據?

回答

1

聽起來像最簡單的事情是將簡單的LastUpdated字段添加到您的表中並使用它來加載自特定時間點以來已更改的項目。哦,如果您需要關注時區,您可能需要確保您使用UTC存儲所有這些時間。以後再開關總是很痛苦的。或者,如果您不想擔心有適當的參考時間來加載更新,您可以在各種表格(或其等價物)上添加一個髒列,加載所有「髒」的東西,處理記錄並清除標誌。