LinqTo 实体中的日期部分相等

date part equality in LinqTo Entities

来自 MSDN 站点

The Date property, which returns a DateTime value that represents a date without its time component

嗯这个方法

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 上午}

WTF 那么如何使用 SQL 服务器比较日期。 (我刚从 MySql 迁移过来,恕我直言,这更容易)

两个日期都使用 DbFunctions.TruncateTime

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