Cách tốt nhất để nhận giá trị Max từ truy vấn LINQ có thể không trả về hàng nào? Nếu tôi chỉ làm
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter).Max
Tôi gặp lỗi khi truy vấn không có hàng. tôi có thể làm
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter _
Order By MyCounter Descending).FirstOrDefault
nhưng điều đó cảm thấy một chút khó khăn cho một yêu cầu đơn giản như vậy. Tôi có thiếu một cách tốt hơn để làm điều đó?
CẬP NHẬT: Đây là câu chuyện phía sau: Tôi đang cố gắng truy xuất bộ đếm đủ điều kiện tiếp theo từ một bảng con (hệ thống cũ, đừng để tôi bắt đầu ...). Hàng đủ điều kiện đầu tiên cho mỗi bệnh nhân luôn là 1, thứ hai là 2, v.v. (rõ ràng đây không phải là khóa chính của bảng con). Vì vậy, tôi đang chọn giá trị truy cập tối đa hiện có cho một bệnh nhân và sau đó thêm 1 vào giá trị đó để tạo một hàng mới. Khi không có giá trị con hiện có, tôi cần truy vấn trả về 0 (vì vậy việc thêm 1 sẽ cho tôi giá trị truy cập là 1). Lưu ý rằng tôi không muốn dựa vào số lượng hàng con thô, trong trường hợp ứng dụng cũ đưa ra các khoảng trống trong các giá trị truy cập (có thể). Xấu của tôi để cố gắng làm cho câu hỏi quá chung chung.