Apa cara terbaik untuk mendapatkan nilai Max dari kueri LINQ yang mungkin tidak menghasilkan baris? Jika saya lakukan
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter).Max
Saya mendapatkan kesalahan saat kueri tidak mengembalikan baris. Saya bisa melakukannya
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter _
Order By MyCounter Descending).FirstOrDefault
tapi itu terasa agak tumpul untuk permintaan sesederhana itu. Apakah saya kehilangan cara yang lebih baik untuk melakukannya?
UPDATE: Inilah kisah belakangnya: Saya mencoba mengambil konter kelayakan berikutnya dari tabel anak (sistem warisan, jangan mulai saya ...). Baris kelayakan pertama untuk setiap pasien selalu 1, yang kedua adalah 2, dll. (Jelas ini bukan kunci utama tabel anak). Jadi, saya memilih nilai penghitung maks yang ada untuk seorang pasien, dan kemudian menambahkan 1 padanya untuk membuat baris baru. Ketika tidak ada nilai anak yang ada, saya perlu permintaan untuk mengembalikan 0 (jadi menambahkan 1 akan memberi saya nilai penghitung 1). Perhatikan bahwa saya tidak ingin bergantung pada jumlah mentah baris anak, jika aplikasi warisan memperkenalkan celah dalam nilai penghitung (mungkin). Buruk saya karena mencoba membuat pertanyaan terlalu umum.