0

嗨人们:)我遇到了空结果的问题,当我比较查询时它说我不能给出以下错误“序列不包含元素”

Dim existe = (
    From   p In abc.Ventadetalles 
    Where  p.idarticulo = txtArticulo.Text 
    And    p.idventa = IdventaTextBox.Text 
    Select p).Single

这是代码

4

3 回答 3

2

尝试使用 SingleOrDefault。这应该有效。

或者,您可以使用 Any() ,因为看起来您正在尝试测试是否存在。

于 2012-04-11T18:17:32.373 回答
2

错误是正确的:序列没有元素!您正在使用Single(),因此空序列会产生错误。如果您想改为返回默认值,请使用SingleOrDefault().

如果您希望序列中实际存在元素,请再次仔细检查您的条件和源数据。

于 2012-04-11T18:17:45.040 回答
0

以下将起作用:

Dim existe = (
    From   p In abc.Ventadetalles 
    Where  p.idarticulo = txtArticulo.Text 
    And    p.idventa = IdventaTextBox.Text 
    Select p).SingleOrDefault()

If existe Is Not Nothing Then
    '' here you can use existe
End If
于 2012-04-11T18:21:57.723 回答