非常不错的电子书网站,大家进来看看!www.netyi.net

说明:本站是 http://access911.net 的附属社区之一

C# LINQ 提示 sequence contains no elements

C# LINQ 提示 "sequence contains no elements"错误


System.InvalidOperationException: Sequence contains no elements



While using LINQ, let’s say you decide to do something similar to the following…

    NorthWindDataContext dc = new NorthWindDataContext();
    Product p = dc.Products.First(p1 => p1.ProductName.StartsWith("My New Product"));
    if (p == null)
        return;

    dc.Products.DeleteOnSubmit(p);
    dc.SubmitChanges();
    ShowProducts();

Everything would be fine if you do have a product whose name starts with “My New Product”, but what do you think would happen if that’s not the case? Well surprisingly... you would get an un-handled runtime exception!!!

Exception Details: System.InvalidOperationException: Sequence contains no elements
Source Error:


Line 69:         NorthWindDataContext dc = new NorthWindDataContext();
Line 70:
Line 71:         Product p = dc.Products.First(p1 => p1.ProductName.StartsWith("My New Product"));
Line 72:         if (p == null)
Line 73:             return;








To get rid of this error, instead of using dc.Products.First, use dc.Products.FirstOrDefault and you should be good!

Happy Coding.  
Rahul


别以为后面用 p==null 可以判断出是否包含,应该用 FirstOrDefault  作为方法来获取

文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags:
评论: 0 | 引用: 0 | 查看次数: 314
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码: 验证码
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 开启 | [img]标签 关闭

用手机拍码上网吧,
QuickMark可以识别

拍码写信吧

本站描述