Lỗi Select: Sequence Contains No Elements ASP.NET MVC/LinQ

Thảo luận trong 'Lập Trình Website MVC5 & MVC6' bắt đầu bởi seolagi, 31/7/18.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,028
    Đã được thích:
    80
    Điểm thành tích:
    48
    Mình select dữ liệu thì bị lỗi: Lỗi Select: Sequence Contains No Elements ASP.NET MVC/LinQ bạn nào biết giúp mình với.
    Lỗi này kỳ lắm. Mình select dữ liệu ra lần đầu chạy được, xong khách nhập thông tin báo lỗi, sau đó bắt dữ liệu select lại thì nó hiện ra lỗi.
    Code lỗi Sequence Contains No Elements ASP.NET MVC/LinQ của mình ở dưới.
    Mã:
    public ActionResult Register(UserInfoList model)
    {
        try
        {
            ModelState.Clear();
            var usercheck = dbc.UserInfoLists
                        .Where(s => s.email == model.email.Trim()
                        .First();
            if (usercheck != null && usercheck.Id != -1)
            {
                ModelState.AddModelError("", "Email đã tồn tại, vui lòng điền lại!");
            }
            else
            {
               //code....
            }
       catch(Exception ex)
       {
           ModelState.AddModelError("","Đăng ký thất bại: "+ ex);
       }
    return View(model);
    }
    
    Lỗi : Sequence Contains No Elements ASP.NET MVC/LinQ khó chịu quá, nhờ cao thủ giúp
     
    Cảm ơn đã xem bài:

    Lỗi Select: Sequence Contains No Elements ASP.NET MVC/LinQ

  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,895
    Đã được thích:
    1,198
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Lỗi này xẩy ra thường xuyển khi bạn sử dụng LinQ để lấy, select dữ liệu khi bạn kết hợp với hàm .First() hay .Single().

    Khắc phục:
    • Chuyển .First() -> .FirstOrDefault()
    • Chuyển .Single -> .SingleOrDefault()
    Edit code bạn lại như sau:
    Mã:
    public ActionResult Register(UserInfoList model)
    {
        try
        {
            ModelState.Clear();
            var usercheck = dbc.UserInfoLists
                        .Where(s => s.email == model.email.Trim()
                        .FirstOrDefault();
            if (usercheck != null && usercheck.Id != -1)
            {
                ModelState.AddModelError("", "Email đã tồn tại, vui lòng điền lại!");
            }
            else
            {
               //code....
            }
       catch(Exception ex)
       {
           ModelState.AddModelError("","Đăng ký thất bại: "+ ex);
       }
    return View(model);
    }
     
    seolagi thích bài này.
  3. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,028
    Đã được thích:
    80
    Điểm thành tích:
    48
    thansk .First() -> .FirstOrDefault() đã làm thành công
     


Chủ để tương tự : Lỗi Select
Diễn đàn Tiêu đề Date
Lập Trình Website MVC5 & MVC6 Lỗi: You are debugging a Release build of .dll. Using just My Code in Visual Studio 2019 8/6/23
Lập Trình Website MVC5 & MVC6 Lỗi: There is already an open DataReader associated with this Command which must be closed first 30/10/20
Lập Trình Website MVC5 & MVC6 Lỗi: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities. 27/3/20
Lập Trình Website MVC5 & MVC6 Lấy Entity Value old cũ sau đó Update không bị lỗi Asp.net MVC 27/3/20
Lập Trình Website MVC5 & MVC6 Lỗi Maximum request length exceeded khi upload file mvc asp.net c# 5/8/19