linq查询方法都抛出NotSupportedException

本文关键字:NotSupportedException 查询 方法 linq | 更新日期: 2023-09-27 17:50:56

我有这样的代码:

    var qry = from d in _dbEntities.DAY
              where d.DATE == DateTime.Now.Date
              select d;
    DAY day = qry.Single();

当我尝试运行它时,它抛出一个NotSupportedException。它应该返回0个结果,因为那里有0个结果,因此应该抛出InvalidOperationException。我在使用query . count()时遇到了同样的问题,据我所知,IQueryable的任何方法都有同样的问题。我查过从查询中获取计数的方法他们都说使用这些方法

linq查询方法都抛出NotSupportedException

EF可能试图将DateTime.Now.Date转换为与提供程序不兼容的表达式。试着把它改成一个变量:

var today = DateTime.Now.Date;
var qry = from d in _dbEntities.DAY
          where d.DATE == today
          select d;
DAY day = qry.Single();

Single上得到异常的原因是因为查询实际上没有执行,直到您尝试并使用它(通过foreach, ToList, Count, Single等)。这使得看起来像问题是与Single,而真正的问题是与查询本身。

相关文章:
  • 没有找到相关文章