【问题标题】:LinqResult.Any() Resulting In NullReferenceExceptionLinqResult.Any() 导致 NullReferenceException
【发布时间】:2010-10-06 16:15:19
【问题描述】:

可能导致此错误的原因:

NullReferenceException 未处理,对象引用未设置为对象的实例。

var LinqResult = 
from a in Db.Table
select new {Table = a};

if(LinqResult.Any())
{
    //Blah blah blah
}

【问题讨论】:

  • 我的猜测是 'Db' 为空。

标签: c# linq any


【解决方案1】:

我的猜测是 Db 或 Db.Table 在执行该查询时尚未实例化。你能发布任何额外的上下文代码吗?

【讨论】:

  • 可能。 @Soo 可以测试一下,LinqResult 上的任何东西都会失败。
【解决方案2】:

DbDb.Table 很可能是 null

【讨论】:

    【解决方案3】:

    可能是 Db 为空。执行 .Any() 时会发生异常,但这是因为延迟执行。

    【讨论】:

    • 如果 Db 是 null 那么它将在查询行上抛出异常。
    【解决方案4】:

    Db.Table 的值为 null

    正如其他人所建议的那样,Db 不是 null。否则,实际查询中会发生异常。

    【讨论】:

      猜你喜欢
      • 2015-04-27
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      • 2016-08-06
      • 1970-01-01
      • 2014-12-19
      • 2014-05-09
      • 2012-08-02
      相关资源
      最近更新 更多