标题:LINQ TO SQL 之 Single ”序列中不包含任何元素“ 异常
只看楼主
tyb0818
Rank: 2
等 级:论坛游民
威 望:1
帖 子:16
专家分:70
注 册:2010-7-14
结帖率:100%
 问题点数:0 回复次数:3 
LINQ TO SQL 之 Single ”序列中不包含任何元素“ 异常
            当查询一个对象是否存在时,如果用Single 方法查询,如
            dbDataContext db=new dbDataContext ();
          User user=db.User.Single(u=>u.Id==Id);
            如果user为空的话 会出现异常 “序列中不包含任何元素”
            所以要用到Any方法 Any返回的是bool类型 ,当返回真的时候再用Single 方法去找对象
        bool flag = db.User.Any(a => a.Id== Id);
            if (flag)
            {
                User user=db.User.Single(u=>u.Id==Id);   
            }

搜索更多相关主题的帖子: 元素 LINQ 序列 Single SQL 
2010-07-14 14:20
playermaker
Rank: 2
等 级:论坛游民
威 望:1
帖 子:87
专家分:17
注 册:2008-8-15
得分:0 
这是教人家用吧??

[url=http://www.]优联(Union)官方网站[/url]
2012-01-20 14:12
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
得分:0 

dbDataContext db=new dbDataContext ();
出现这个‘序列中不包含任何元素’是说明你的ilist<T>是null,和你的single无关.
User user=db.count>0?db.User.SingleOrDefault(u=>u.Id==Id):new user();
一般情况下使用 SingleOrDefault 的,避免了single不存在的问题。返回的user来判断是否为null或者user的属性id是否为0。

59ita点com(我就爱TA)
2012-09-13 15:17



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-312956-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.435482 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved