簡體   English   中英

在查詢中使用`DbFunctions.DiffDays(DateTime.Now,c.ModifiedDate)`時,盡管表中有數據,實體框架仍返回0結果

[英]Entity Framework returns 0 results in spite of the data in the tables when `DbFunctions.DiffDays(DateTime.Now, c.ModifiedDate)` is used in the query

下面的代碼應從status = 1且數據的日期超過90 daystable返回結果。 table有許多數據的modified date超過90 days

但是此代碼返回0個結果。 datetime差會引發錯誤,因此使用DbFunctions代替,因為我使用的EF是DbFunctions

IEnumerable<IncentiveClaim> claims = repository.Table
                      .Where(c => c.Status == 1 
                        && DbFunctions.DiffDays(DateTime.Now, c.ModifiedDate) >= 90)
                      .AsEnumerable();

該方法的參數為DbFunctions.DiffDays(smallestDateTime, LargestDateTime) 因此, ModifiedDate應該是第一個參數, DateTime.Now應該是第二個參數。 然后,您必須在方法上調用.Value以獲得no. of days no. of days

修改代碼如下:

IEnumerable<IncentiveClaim> claims = repository.Table
           .Where(c => c.Status == 1 
            && DbFunctions.DiffDays(c.ModifiedDate, DateTime.Now).Value >= 
            90)
            .ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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