我正在尝试创建一个我在Windows任务调度程序中使用的提醒服务。然而,我需要的是以snoze按钮旁边的方式复制Outlook的能力。但它说不能在比较中将日期时间转换为bool。
.text-center {
text-align: center;
display: table-cell;
width: 100%;
vertical-align: middle;
}
.jumbotron {
width: 100%;
height: auto;
overflow: hidden;
display: table;
}
修改
此处的错误帐户
Start.Value.AddMinutes(-reminderLength)
答案 0 :(得分:2)
在以下行中:
apertureNetEntities.Appointments.Where(a => a.Start.Value.AddMinutes(-reminderLength))
AddMinutes
返回DateTime
。 Where
期望一个函数在其中求值为布尔值。您需要将DateTime与某些内容进行比较以避免错误。
e.g:
apertureNetEntities.Appointments.Where(a => a.Start.Value.AddMinutes(-reminderLength) < DateTime.Now)
答案 1 :(得分:1)
@ strickt01是正确的。
个人我更喜欢格式化它的东西;它更容易阅读。//where the start time is greater than now minus 30min
var reminderLength = 30;
var timeAfter = DateTime.Now.AddMinutes(-reminderLength);
apertureNetEntities.Appointments.Where(a => a.Start > timeAfter)
更新可能是...... ??
//从现在起30分钟内开始寻找所有约会。
//但仅限于接下来的30分钟
var reminderLength = 30;
var timeBefore = DateTime.Now.AddMinutes(reminderLength);
var currentDateTime = Datetime.Now;
A.Appointments
.Where(x => x.Start > currentDateTime //greater than now
&& x.Start < timeBefore //less now + 30min
)