我正在尝试使用此查询从数据库中返回一些记录:
ViewBag.TrafficEnter = _iTrafficRepository.Get().Where(i => i.Type == "ورود" && i.SubmitDateTime == DateTime.Now).ToList();
在这里您可以看到我的数据库记录:
但问题是查询没有返回任何值。为什么?
答案 0 :(得分:2)
您将数据库中的$construct_obj = OrganizationalConstruct::where('is_root', 0)->where('organization_id', $this->current_company->company_id)->get();
$construct_obj->lists('construct_name', 'organizational_construct_id');
值与返回当前时间(包括毫秒)的DateTime
值进行比较,并且永远不能匹配表中的任何值。
修改查询以选择范围
中的值DateTime.Now
假设今天的日期是2016年5月24日,它将返回您图像中显示的所有17条记录。
答案 1 :(得分:0)
DateTime.Now的问题在于它意味着一个非常小的日期范围,它等于它的精度的最小分度,在这种情况下是1毫秒。除非您创建的记录与DateTime几乎完全相同。现在您永远不会得到匹配。
您有两种解决方案(可能不适合您的需求);
首先,不要匹配确切的dateTime,尝试匹配范围,例如DateTime.Now之前/之后1小时。这样可以让您控制范围。
或者,您可以尝试将日期值(DateTime.Now.Date)与记录日期进行匹配。