2011-07-14 54 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存储所有这些时间。以后再开关总是很痛苦的。或者,如果您不想担心有适当的参考时间来加载更新,您可以在各种表格(或其等价物)上添加一个脏列,加载所有“脏”的东西,处理记录并清除标志。