C# 如何在实体框架中比较日期?
我想比较实体框架中的日期、日期时间字段。在我的数据库中,我有一列C# 如何在实体框架中比较日期?,c#,sql,entity-framework,linq,C#,Sql,Entity Framework,Linq,我想比较实体框架中的日期、日期时间字段。在我的数据库中,我有一列StartTime作为date或smalldatetime。好的,我用这个箱子 var list = db.tmpListAction.Where(e => e.StartTime.ToString() == "2017-12-15").ToList(); 它不起作用了。它返回null,尽管我的表中有数据。为什么还要麻烦再次转换为字符串??这很可能会破坏您的代码,因为.ToString()不能保证返回您期望的数据表示形式 只
StartTime
作为date
或smalldatetime
。好的,我用这个箱子
var list = db.tmpListAction.Where(e => e.StartTime.ToString() == "2017-12-15").ToList();
它不起作用了。它返回
null
,尽管我的表中有数据。为什么还要麻烦再次转换为字符串??这很可能会破坏您的代码,因为.ToString()
不能保证返回您期望的数据表示形式
只需将日期保留为日期,并进行如下比较:
DateTime desiredDate = new DateTime(2017, 12, 15);
var list = db.tmpListAction.Where(e => e.StartTime == desiredDate).ToList();
e.StartTime.ToString(“yyyy-MM-dd”)
Dear@marc_s的可能重复项,如您所见,我想将其作为字符串进行比较,因此我尝试使用“2017-12-15”
,我不知道我喜欢使用字符串。@Brian Crist,为什么您坚持要将日期作为字符串进行比较?这不是正确的方法。