There is already an open DataReader associated with this Command which must be closed first

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

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,027
    Đã được thích:
    80
    Điểm thành tích:
    48
    Lỗi khi lấy dữ liệu từ linq nhiều lần: There is already an open DataReader associated with this Command which must be closed first.

    Khi mình lấy dữ liệu xử lý add thì bị lỗi dữ liệu như trên, mình không biết làm sao để xử lý nếu không vượt qua được lỗi này.

    Bạn nào biết cách xử lý giúp mình với:
    Code của mình:
    Mã:
    var modelcate = dbc.Categories.Where(p=> p.Id == null);
    //danh sách chuyên mục liên kết
    foreach (var cate in dbc.Categories.Where(s => s.Action).OrderByDescending(p => p.Seq))
    {
        var itemName = "";
        itemName = modelcate.Where(c => c.Type == cate.Type).FirstOrDefault().Name; //error tại đây
        .......
    }
     
    Cảm ơn đã xem bài:

    There is already an open DataReader associated with this Command which must be closed first

  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,883
    Đã được thích:
    1,193
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Của bạn không phải lỗi mà do bạn truy xuất dữ liệu không đúng cách thôi. Bạn xử lý lại code bằng cách truy xuất lấy dữ liệu dạng ToList() là được ngay.

    Sửa lại code như sau:
    Mã:
    var modelcate = dbc.Categories.Where(p=> p.Id == null);
    //danh sách chuyên mục liên kết
    foreach (var cate in dbc.Categories.Where(s => s.Action).OrderByDescending(p => p.Seq).ToList())
    {
        var itemName = "";
        itemName = modelcate.Where(c => c.Type == cate.Type).FirstOrDefault().Name; //error tại đây
        .......
    }
     
  3. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,027
    Đã được thích:
    80
    Điểm thành tích:
    48
    Em cảm ơn, em không biết cái này luôn ạ, em đã làm được, cảm ơn ad rất nhiều
     


Chủ để tương tự : already open
Diễn đàn Tiêu đề Date
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