所以,我找到了这个Stack Overflow Question和这个wiki等资源,建议使用数据库模式Calendar Events或Reoccurring任务。他们解释了如何创建处理以下场景的模式:
但是,我真的希望让我的用户能够安排每周一,周三和周五,或每周六和周日的任务。 (类似于Google日历处理每周重复事件的方式,用户可以在其中勾选不同的日期)。
我希望能够做到这一点,因为我不希望用户必须创建两个单独的任务来完成此任务(因为如果他们需要进行更改,他们必须记住更新而不是一个但两个任务)。
思路:
有人对实施这个设计有什么好主意吗?
我目前的架构:
ReoccurringRules
-------
RuleID PK int
Frequency varchar(7)
RepeatEvery int
RepeatBy varchar(4)
RepeatAt int
DayOfTheWeek int
频率选项:
RepeatBy 选项: (仅用于月度任务)
DayOfTheWeek: 仅用于月度任务,如果为RepeatBy选择了日期(星期日= 0,星期六= 7)
RepeatAt 含义因重复选项而异
每周重复一次是我的困境所在。我应该在此表中有多个具有不同RepeatAt值的条目吗?我应该输入数字1-127来指定哪些天数组合?有更好的方法吗?
希望这个问题有道理。如果没有,请告诉我,我会尝试澄清。
提前致谢!