[英]Comparing Dates in LINQ and C#
我有一个 LINQ 查询,用于检查自年初以来是否进行了任何测试。
var MetersTestedCount = (from n in _mttDomainContext.MTTMeterTests
where n.TestDate > DateTime.Parse("1/1/2010")
select n.TestDate).Count();
然而,这个查询返回一个空集。 我有一个类似的 SQL 查询,它提取了一些记录,
USE MeterTestTracking
Select * From MTTMeterTest
WHERE TestDate > '1/1/2010'
我去过以前的帖子。 即使相似,仍然没有帮助:
和
在 LINQ 中检查日期以返回数据集的正确方法是什么?
您是否尝试过创建 DateTime 实例?:
var MetersTestedCount = (from n in _mttDomainContext.MTTMeterTests
where n.TestDate > new DateTime(2010,1,1).Date
select n.TestDate).Count();
如何明确说明您正在转换的日期字符串的格式,即使用
DateTime.Parse("1/1/2010", "dd/MM/YYYY")
运行 SQL 探查器(如果您有 MS SQL 2005 或更高版本)并检查执行了哪些查询。 或者尝试显示您生成的 SQL 和/或结果的Linq2Sql 可视化工具。
var query = Set().AsQueryable();
query = query.Where(r => (DateTime)(r.StartDate) > (DateTime)(obj.StartDate));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.