错误“序列不包含任何元素”

时间:2012-10-29 05:33:01

标签: c# linq

我使用了下面的linq查询代码,但它返回“Sequence contains no elements”,我确信有一个项目应该返回。

代码如下:

tblDocTranstoCon doctranstocon =_DataContext.tblDocTranstoCons
                       .Single(dtcon => (dtcon.Docid == _DocID)
                                     && (dtcon.Transid==e.TransmittoconID)
                                     && (dtcon.Transid==e.TransID));

2 个答案:

答案 0 :(得分:2)

如果没有退回任何项目,您应该使用SingleOrDefault

tblDocTranstoCon doctranstocon =_DataContext.tblDocTranstoCons
   .SingleOrDefault(dtcon => (dtcon.Docid == _DocID)
                   && (dtcon.Transid == e.TransmittoconID)
                   && (dtcon.Transid == e.TransID));

答案 1 :(得分:0)

要解决此问题,请使用SingleOrDefault()方法替换方法Single()。如果没有与过滤条件匹配的源记录,则SingleOrDefault()方法返回空值。见here