如何对基于定期查询的日历进行建模,该日历依赖于资源,例如重新整理任务和计时

本文关键字:日历 资源 新整理 任务 依赖于 建模 于定期 查询 | 更新日期: 2023-09-27 18:31:18

我将日历事件存储为事件表/列表。我想将其更改为更灵活的内容以执行更简单的查询-

例如,这个设计会让我问,我希望能够问什么Calendar.Employee().Between("Jan 1 2014").and("July 4 2014").Get("TimeSheets John").All("Recurring").TwoWeeks();

Calendar.Resource().Between("2014").and("2017").Get("Conf Room Boston").All("Recurring").ToList();

您能否分享数据库数据表的框架或数据库模型。以及,服务器端对象如何将该重复事件映射到对象模型中 - 以便

  1. 在某个时间范围内查询任务,例如上周?
  2. 基于周期模型的查询任务(每 2 周)
  3. 它可以保留重复发生的事件 - 依赖于 TaskID、会议室等

在下面的问答中,有人推荐了模板。 模板在数据库表中的样子。 看到这个SO,但没有多大帮助

您能否给我一些指导,说明这是否是错误的类/对象 - 我正在使用日历类。 使用 DDay 对象会更好吗?

如何对基于定期查询的日历进行建模,该日历依赖于资源,例如重新整理任务和计时

如何将现有对象与 LINQ 一起使用?

您的某个查询可能如下所示:

CalendarItems.Where(c=> 
  c.Date.Year >= 2014 && 
  c.Date.Year <= 2017 && 
  c.Room = "Conf Room Boston" &&
  c.isRecurring == true && 
  c.RecurringType == RecurringTypes.BiWeekly);

对于您的数据库接口,我推荐实体框架。 这将在表和您习惯的常规 C# 类之间无缝转换。