当查询一个对象是否存在时,如果用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);
}
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);
}
First代表一定能找到
不能确定能不能找到请用FirstOrDefault
不能确定能不能找到请用FirstOrDefault
本文介绍了使用LINQ查询数据库时如何正确判断对象是否存在,避免因使用Single方法导致的异常,并推荐了先用Any方法判断再使用Single或FirstOrDefault方法获取对象的最佳实践。
486

被折叠的 条评论
为什么被折叠?



