我有一个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'
我去过以前的帖子。即使相似,仍然没有帮助:
How to compare just the date, not the timestamp using LINQ
和
检查LINQ中的日期以返回数据集的正确方法是什么?
答案 0 :(得分:5)
您是否尝试过创建DateTime实例?:
var MetersTestedCount = (from n in _mttDomainContext.MTTMeterTests
where n.TestDate > new DateTime(2010,1,1).Date
select n.TestDate).Count();
答案 1 :(得分:0)
如何明确说明您要转换的日期字符串的格式,即使用
DateTime.Parse("1/1/2010", "dd/MM/YYYY")
答案 2 :(得分:0)
运行SQL分析器(如果您有MS SQL 2005或更高版本)并检查执行了哪些查询。或者尝试Linq2Sql visualizer,它会显示您生成的SQL和/或结果。
答案 3 :(得分:0)
var query = Set()。AsQueryable();
query = query.Where(r =>(DateTime)(r.StartDate)>(DateTime)(obj.StartDate));