我有以下情况:
if (audit.CheckedoutBy != null &&
audit.AuditStatus != null &&
audit.AuditStatus.CheckOutDate != null &&
audit.AuditStatus.CheckOutDate < DateTime.Now.AddDays(-1)) {
// other stuff
}
else {
_log.Debug($"No changes made. Status:{audit.AuditStatus}, checkoutdate: {audit.AuditStatus?.CheckOutDate}, checkedOutBy: {audit.AuditStatus?.CheckedOutby}");
}
现在,我的日志显示如下内容:
调试2017-09-19 03:00:44125 40182ms[1]CheckoutCheck DiscardCheckouts-未做任何更改。状态:实体。审核状态,签出日期:2017年7月31日14:20:41,签出人:实体。共享点用户
放弃签出-未做任何更改。状态:实体。审核状态,
退房日期:2017年7月18日13:57:51,退房人:
正如您在日志中看到的,代码已跳转到“else”状态。然而,这个日期比“昨天”早得多。
另外,其他条件不能为null:CheckedOutBy不能为null,因为日志显示了一个对象而不是null。审计AuditStatus不能为空,因为如果为空,则不会有审核。审核状态。结账日期
日志是在无法调试的服务器上创建的