代码之家  ›  专栏  ›  技术社区  ›  schmoopy

LinqToSql+调用.Count仅在生产中失败

  •  0
  • schmoopy  · 技术社区  · 16 年前

    这应该很简单,但很令人沮丧。

    我有一个LinqToSql,如下所示,它在开发中运行良好,但当我将代码转移到生产环境中时,它就崩溃了


    如果可以的话请解释一下,我很困惑。下面的代码在开发中运行良好,为了让它在生产中运行,我不得不不使用延迟输入,所以。。。 而不是:

    Dim val = From a In _configuration Where a.ItemKey = "Val5" Select 
    

    Dim val As IEnumerable(Of MyAssembly.Configuration) _
       = From a In _configuration Where a.ItemKey = "Val5" Select a
    

    为什么第一种方法可以在我的开发服务器上工作,而不能在生产服务器上工作?它们都有3.5SP1,等等。。。


       Dim val = From a In _configuration Where a.ItemKey = "Val5" Select a
        Dim valExists As Boolean = False
        If val.Count > 0 Then
            valExists = True
        End If
    

    System.MissingMemberException:找不到类型“WhereSelectListIterator(配置的,配置的)”的公共成员“Count”。

    这对我来说毫无意义。val的类型是IEnumerable,那么为什么我不能调用它呢?

    谢谢:-)

    2 回复  |  直到 16 年前
        1
  •  1
  •   Fredou    16 年前

    尝试

      val.AsEnumerable.Count 
    

        2
  •  0
  •   Chris Van Opstal    16 年前

    只是一种预感,请尝试检查val是否出于某种原因返回null:

    If val IsNot Nothing AndAlso val.Count > 0 Then