簡體   English   中英

比較 LINQ 和 C# 中的日期

[英]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 只比較日期,而不是時間戳

如何比較 LINQ 中的日期?

在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM