首页 新闻 搜索 专区 学院

使用EF 报错System.InvalidOperationException: Sequence contains no elements

0
悬赏园豆:20 [已解决问题] 解决于 2012-07-18 21:22

遇到如下情况:

var main = entity.Sale_ReturnGoodsNote.First(c => c.ID == intID);

报错如下:

System.InvalidOperationException: Sequence contains no elements

 

  现在我有两个数据库,一个是老的 ,一个是最新的,(里面只是数据不一致,字段信息都无变化) 程序连接老的数据库正常,但是连接最新的数据库就会报错。FirstOrDefault() 也是有问题    

求指教,会继续追加分

Hejin.Wong的主页 Hejin.Wong | 菜鸟二级 | 园豆:229
提问于:2012-07-18 17:57
< >
分享
最佳答案
0

出现这个错误可能是entity.Sale_ReturnGoodsNote的值为null,建议检查一下EF的相关设置。

收获园豆:15
dudu | 高人七级 |园豆:36500 | 2012-07-18 18:04

问题已解决   EF配置  和web.config中 数据库连接字符串 不一致 导致数剧不一致   

Hejin.Wong | 园豆:229 (菜鸟二级) | 2012-07-18 21:21
其他回答(1)
2

你应该用 FirstOrDefault .

var main = entity.Sale_ReturnGoodsNote.FirstOrDefault(c => c.ID == intID);

if(main == null)
{
}

else

{
}

用 First 也可以,如果你没有其它的逻辑的话,用 try[] catch{}。

我再解释下 entity.Sale_ReturnGoodsNote.First(c => c.ID == intID) 的意思,

读取 Sale_ReturnGoods 中 ID 等于 intID 的所有记录,并且只返回第一条(TOP 1),若果序列中不存在任何元素则抛出异常。

收获园豆:5
Launcher | 园豆:45045 (高人七级) | 2012-07-18 19:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册