linq查询一个时间的语句怎么写

起始页面是查询所有数据,当输入日期条件2017-5-1(time)查询该日期数据、
通过下方好人的提示,已跪 请路过好人请解答。 优化代码这样相当于查询时查询了三次
public ActionResult Contenttimet(DateTime? time)
{
var query1 = (from a in _db.ContentTime select a).ToList();
var query3 = query1.Select(s => new
{
s.ID,
Time = s.Time.ToString("yyyy-MM-dd")
});
if (time != null)
query3 = query1.Where(s => DateTime.Compare((DateTime)time, s.Time) == 0).Select(s => new
{
s.ID,
Time = s.Time.ToString("yyyy-MM-dd")
});

return Json(query3.ToList(), JsonRequestBehavior.AllowGet);
}

用DateTime.Compare函数

DateTime comparedDateTime = new DateTime(2017, 5, 1, 0, 0, 0);


//time是传入函数的参数,comparedDateTime是2017-5-1,返回0说明相等
where DateTime.Compare(time, comparedDateTime) == 0

time和2017-5-1应该是相同的datetime格式,这个地方可能需要你调试一下。