The ObjectContext instance has been disposed asp.net mvc c#

Thảo luận trong 'Lập trình web Asp.net' bắt đầu bởi seolagi, 9/12/24.

  1. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,047
    Đã được thích:
    82
    Điểm thành tích:
    48
    Lỗi: The ObjectContext instance has been disposed and can no longer be used for operations that require a connection khi sử dụng cache MemoryCache để lưu trữ dữ liệu và sử dụng: override void Dispose, _context.Dispose() không sử dụng.

    Chạy web lần đầu thì không sao, nhưng khi chạy lần 2, cache nó gọi lên thì cái _context.Dispose() đã xóa dữ liệu liên kết, làm không thể kết nối được. Giờ làm sao để vượt qua được lỗi này.
    Mã:
    using (var _context = new YourDbContext())
    {
        var data = _context.products
            .Where(x => x.IsActive)
            .ToList(); // Thực thi truy vấn ngay lập tức
    }
    
    Truy vấn vào thông tin user viết bài thì không xem được chi tiết trên View.
    Mã:
    Model.Master.FullName
    • Bị báo lỗi ở chỗ này
     
    Cảm ơn đã xem bài:

    The ObjectContext instance has been disposed asp.net mvc c#

    Host_Master thích bài này.
  2. admin
    Tham gia ngày:
    22/5/13
    Bài viết:
    4,999
    Đã được thích:
    1,217
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Sửa lại code lại để include thẳng cái dữ liệu Master vào cái cache lun nhé.
    • Thêm: .Include(x => x.Master) vào là xong ngay
    Mã:
    using (var _context = new YourDbContext())
    {
        var data = _context.products
            .Where(x => x.IsActive)
            .Include(x => x.Master)
            .ToList(); // Thực thi truy vấn ngay lập tức
    }
    Chạy lại hết lỗi ngay
     
    seolagi thích bài này.
  3. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,047
    Đã được thích:
    82
    Điểm thành tích:
    48
    Cảm ơn ad, em thử ngay ạ
     
  4. seolagi
    Tham gia ngày:
    16/4/14
    Bài viết:
    1,047
    Đã được thích:
    82
    Điểm thành tích:
    48
    Chuẩn quá ad ơi, tìm mỏi cách tốn cả tuần, hỏi thầy học trên lớp cũng không giúp được !! heeheh hỏi đại ở đây ad lại chỉ thêm có 1 đonạ code ngắn tủn là giải quyết được ngay hihi cảm ơn rất rất nhiều anh zai của em