代码之家  ›  专栏  ›  技术社区  ›  Ayo Adesina

LINQ to Entities不支持指定的类型成员“Date”。Db函数。截断时间()

  •  0
  • Ayo Adesina  · 技术社区  · 6 年前
    Question question = 
             db.Questions
               .Where(q => DbFunctions.TruncateTime(q.Day.DayDate) == DbFunctions.TruncateTime(DateTime.Now.Date))
               .Where(q => q.Order == id)
               .FirstOrDefault();
    

    当我尝试运行上述语句时,我得到以下错误:

    LINQ to Entities不支持指定的类型成员“Date”

    我以为 DbFunctions.TruncateTime() 正如我在许多帖子中看到的那样,这种方法可以解决这个问题,但我仍然会遇到错误。我还试图将该方法应用于数据库值,但仍然得到相同的错误。

    Question question = 
             db.Questions
               .Where(q => DbFunctions.TruncateTime(q.Day.DayDate) == DateTime.Now.Date)
               .Where(q => q.Order == id) 
               .FirstOrDefault();
    
    0 回复  |  直到 6 年前
        1
  •  1
  •   Selim Yildiz    6 年前

    你需要拉 DateTime LINQ之前的变量:

    var dateOfNow = DateTime.Now.Date;
    
    Question question = 
             db.Questions
               .Where(q => DbFunctions.TruncateTime(q.Day.DayDate) == dateOfNow)
               .Where(q => q.Order == id) 
               .FirstOrDefault();