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

时间:2009-11-19 19:49:40

标签: .net linq-to-sql

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

我有一个LinqToSql如下所示,它在开发中运行良好但是当我将代码移动到生产时它会爆炸.Count


更新,解决了这个问题,但不明白为什么我不得不...... 请解释一下你是否可以,我很困惑。下面的代码在开发中工作正常,为了让它在生产中工作,我不得使用延迟打字,所以... 而不是:

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.5 SP1等......


   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(Of Configuration,Configuration)'的公共成员'Count'。

这对我来说毫无意义。 val的类型是IEnumerable,为什么我不能在此调用.Count?

谢谢: - )

2 个答案:

答案 0 :(得分:1)

  val.AsEnumerable.Count 

答案 1 :(得分:0)

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

If val IsNot Nothing AndAlso val.Count > 0 Then