LinqTo实体中的日期部分相等

本文关键字:日期部 实体 LinqTo | 更新日期: 2023-09-27 18:21:53

来自MSDN站点

Date属性,返回一个DateTime值,该值表示不包含时间成分的日期

这个方法

public List<int> GetSymbolIdsFromProjectionsForDate(DateTime testDate)
{
    var date = testDate.Date;
    var db = _projContext;
    List<int> symbList;
    using (db)
    {
         symbList =
       db.CommodityProjections.Where(e => DbFunctions.TruncateTime(e.ProjectionDate) == date)
                              .Select(e => e.CommoditySymbolId)
                              .ToList();
    }
    return symbList;
}

列表计数始终为零。因此,在调试时,我发现日期变量实际上不仅仅是日期时间的日期组件日期={11/14/2015 12:00:00 AM}

WTF那么如何使用SQL Server比较日期呢。(我刚从MySql迁移过来,在那里IMHO更容易)

LinqTo实体中的日期部分相等

只需在两个日期使用DbFunctions.TruncateTime

.Where(e => DbFunctions.TruncateTime(e.ProjectionDate) == DbFunctions.TruncateTime(testDate)