Lỗi: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.

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

  1. seolagi

    seolagi

    Vip Member

    Tham gia ngày:
    16/4/14
    Bài viết:
    705
    Đã được thích:
    55
    Điểm thành tích:
    28
    Mình đang bị lỗi như sau khi xử lý lấy dữ liệu db trong LINQ: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.
    Mã:
    string PrCode = "MC1020_12";
    string[] arrValue = PrCode.Split('_');
    var model = db.Products.Where(p => p.ProductCode.Contains(arrValue[0].ToString())).ToList();
    
    • Mình thấy lệnh mình đúng hết mà nó lại báo lỗi ArrayIndex not supported là sao nhỉ? Mình có View dữ liệu ra thì mảng vẫn có giá trị arrValue[0] = MC1020
    • Không hiểu sao nó lỗi thế, Mình làm đủ cách vẫn bị lỗi: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.
    • Bạn nào biết giúp mình với.
     
    Cảm ơn đã xem bài:

    Lỗi: The LINQ expression node type 'ArrayIndex' is not supported in LINQ to Entities.

    danh sách diễn đàn rao vặt gov chất lượng
    admin thích bài này.
  2. admin

    admin Phạm Công Sơn Thành viên BQT

    Tham gia ngày:
    22/5/13
    Bài viết:
    4,378
    Đã được thích:
    1,059
    Điểm thành tích:
    113
    Giới tính:
    Nam
    Ý của câu lỗi là: cái câu lệnh bạn lấy dữ liệu không được hỗ trợ trên Entities của LinQ khi bạn select lấy dữ liệu để cho vào list của bạn.
    Bạn chỉ cần chuyển phần từ của mạng đó vào 1 biến tạm rồi lấy biến tạm đó vào để so sánh là được ngay.
    Bạn sửa code như sau:
    Mã:
    string PrCode = "MC1020_12";
    string[] arrValue = PrCode.Split('_');
    string arritemindex1 = arrValue[0].ToString();
    var model = db.Products.Where(p => p.ProductCode.Contains(arritemindex1)).ToList();
    
     
    seolagi thích bài này.
  3. seolagi

    seolagi

    Vip Member

    Tham gia ngày:
    16/4/14
    Bài viết:
    705
    Đã được thích:
    55
    Điểm thành tích:
    28
    Ủa vậy hả hihi, sao nó lại không hỗ trợ nhỉ, nó cũng là hàm của c# mà ta. Mình làm như admin đã được, rút được 1 kinh nghiệm quý báu, cảm ơn ad.
     


Like và Share ủng hộ ITSEOVN