Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在实体框架中比较日期?_C#_Sql_Entity Framework_Linq - Fatal编程技术网

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,为什么您坚持要将日期作为字符串进行比较?这不是正确的方法。