[英]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.