Single()序列包含一个以上的元素

taz01 2010-12-09 03:10:36

int otherClassID = ctx.voteMasters.Where(v => v.ID != currentClassid && v.TypeID == 100).Select(v => v.ID).Single();


single()不是只获取一个元素吗?怎么会有多个呢?
当然数据库中typeid=100的有很多个
不是single()=take(1)吗?
...全文
745 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
taz01 2010-12-09
  • 打赏
  • 举报
回复
嗯的 懒人不看MSDN 就是这样 呵呵
q107770540 2010-12-09
  • 打赏
  • 举报
回复
first ()倒是可以理解成 take(1)
q107770540 2010-12-09
  • 打赏
  • 举报
回复
为了避免程序异常
不建议使用single和first方法

建议使用singleordefault() 和firstordefault()代替之
q107770540 2010-12-09
  • 打赏
  • 举报
回复
非也非也
Single(): 返回序列中满足指定条件的唯一元素;如果有多个这样的元素存在,则会引发异常。
First():返回序列中满足指定条件的第一个元素。 有多个符合条件 也只返回第一个

taz01 2010-12-09
  • 打赏
  • 举报
回复
错误:序列包含一个以上的元素

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧