Với những thay đổi đối với .NET Core 3.0, tôi đang nhận được
... NavigationExpandingExpressionVisitor 'không thành công. Điều này có thể chỉ ra lỗi hoặc giới hạn trong EF Core. Xem https://go.microsoft.com/fwlink/?linkid=2101433 để biết thêm thông tin chi tiết.) ---> System.InvalidOperationException: Xử lý biểu thức LINQ 'GroupJoin, ...
Đây là một truy vấn thực sự đơn giản vì vậy phải có cách để thực hiện nó trong .NET CORE 3.0:
var queryResults1 = await patients
.GroupJoin(
_context.Studies,
p => p.Id,
s => s.Patient.Id,
(p, studies) => new
{
p.DateOfBirth,
p.Id,
p.Name,
p.Sex,
Studies =studies.Select(s1=>s1)
}
)
.AsNoTracking().ToListAsync();
Về cơ bản, tôi đang tìm kiếm một truy vấn Linq (hoặc cú pháp phương pháp như trên) sẽ tham gia Nghiên cứu trên Bệnh nhân và đặt Nghiên cứu thành một danh sách trống hoặc null nếu không có nghiên cứu nào cho bệnh nhân cụ thể.
Có ý kiến gì không? Điều này đã làm việc trong .NET Core 2.2. Ngoài ra, liên kết MSFT ở trên đề cập rằng thay đổi ngắt chính có liên quan đến đánh giá phía máy khách và tránh việc truy vấn được tạo sẽ đọc toàn bộ các bảng mà sau đó phải được nối hoặc lọc phía máy khách. Tuy nhiên với truy vấn đơn giản này, việc tham gia nên dễ dàng thực hiện phía máy chủ.