Ok, do đó, theo this page, Khung thực thể sẽ háo hức tải nhiều cấp độ bằng cách sử dụng Select
trong phương thức Include
.Entity Framework Eager Đang tải nhiều cấp độ Ngoại lệ
Tôi có đoạn mã sau:
var reports = _context.Reports
.Include(rt => rt.Fields)
.Include(rt => rt.Fields.Select(f => f.FieldType))
.Include(rt => rt.Fields.Select(f => f.FieldType.FieldIdentifier));
Tuy nhiên, điều này ném một InvalidOperationException
- "loại không hợp lệ của khái niệm" về cuộc gọi đến thứ hai bao gồm. Ngoại lệ đến từ EntityFrameworkHelper.CollectRelationalMemebers
.
Tôi cũng đã thử sử dụng các chuỗi để Include
các thuộc tính liên quan, nhưng cũng không thành công (tôi muốn tránh sử dụng các chuỗi nếu có thể).
Tôi đang sử dụng EF 5.0 DLL cho .NET 4.0. Các lớp học EF của tôi là cơ sở dữ liệu kiểu cũ EntityObject
s đầu tiên.
Có ai biết nguyên nhân và nếu có bất kỳ điều gì tôi có thể làm về ngoại lệ này không?
EDIT:
Khi sử dụng phiên bản chuỗi:
var reports = _context.Reports
.Include("Fields")
.Include("Fields.FieldType")
.Include("Fields.FieldType.FieldIdentifier"));
Nó ném InvalidOperationException
- loại không hợp lệ của Expression.
Thông báo ngoại lệ chính xác khi bạn sử dụng phiên bản dựa trên chuỗi của 'Bao gồm' là gì? – Slauma
Xem câu trả lời ở trên. – MgSam
Tôi có nghĩa là ngoại lệ cho phiên bản ** Chuỗi ** dựa trên 'Bao gồm'. – Slauma