实体框架获取最新数据

时间:2011-07-14 23:54:54

标签: c# entity-framework-4

我正在用Quartz.NET构建一个调度系统。 我的第一个方法是

  1. 从数据库加载所有计划任务(前端计划定义)。
  2. 通过它们全部并使用Quartz(作业/触发器等)进行设置。
  3. 每分钟检查一下db是否有任何更改,以便我可以更新我的触发器/作业。
  4. 到目前为止,我已经完成了步骤1-3,但是我不确定如何仅加载修改后的数据 - 并更新其Quartz定义。

    目前我使用 var activities = Entities.Activities.Where(w => !w.IsDeleted);加载所有数据(未删除)。我以为可能会有像Entities.Activites.Where(w=>w.IsModified)这样的东西。不过,我对实体框架并不熟悉。

    是否有方法或参数可以让我只加载修改后的(delta)数据?

1 个答案:

答案 0 :(得分:1)

最简单的方法是向表中添加一个简单的LastUpdated字段,并使用它来加载自特定时间点以来已更改的项目。哦,如果您需要关注时区,您可能希望确保以UTC格式存储所有这些时间。以后进行切换总是很痛苦。

或者,如果您不想担心加载更新的正确引用时间,您只需将Dirty列添加到各个表(或其等效表),加载“脏”的所有内容,处理记录,并清除旗帜。