Linq选择比特定日期更新的所有记录
问题描述:
我有一个简单的查询,我想要获取某个日期比6年前更新的所有数据。Linq选择比特定日期更新的所有记录
我的代码如下所示:
var dt = DateTime.Today.AddYears(-6);
return _context.ChildInfo.Where(c => c.ChildDob > dt);
但这返回所有记录而不仅仅是那些出现不到6年前从今天。我究竟做错了什么 ?
编辑:
childdob定义
public partial class ChildInfo
{
public DateTime? ChildDob { get; set; }
}
答
您的问题是ChildDob是空。 您需要:
return _context.ChildInfo.Where(c => c.ChildDob.HasValue && c.ChildDob.Value > dt);
看起来不错,我 - 我怀疑这是一个诊断问题,而不是别的。真的,真的不应该提取超过6年前的任何东西...... –
“ChildDob”如何实现?它可能默认为'DateTime.Max'?你可以添加ChildInfo类和数据的最小数据结构来重现吗? – dlatikay
以某种方式删除可空属性解决了此问题。 –