Quelle est la meilleure façon d'obtenir la valeur Max à partir d'une requête LINQ qui peut ne renvoyer aucune ligne? Si je fais juste
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter).Max
J'obtiens une erreur lorsque la requête ne renvoie aucune ligne. je pourrais faire
Dim x = (From y In context.MyTable _
Where y.MyField = value _
Select y.MyCounter _
Order By MyCounter Descending).FirstOrDefault
mais cela semble un peu obtus pour une demande aussi simple. Est-ce que je manque une meilleure façon de le faire?
MISE À JOUR: Voici l'histoire: j'essaie de récupérer le prochain compteur d'éligibilité à partir d'une table enfant (système hérité, ne me lancez pas ...). La première ligne d'éligibilité pour chaque patient est toujours 1, la seconde est 2, etc. (ce n'est évidemment pas la clé primaire de la table enfant). Donc, je sélectionne la valeur de compteur existante maximale pour un patient, puis j'y ajoute 1 pour créer une nouvelle ligne. Lorsqu'il n'y a aucune valeur enfant existante, j'ai besoin que la requête renvoie 0 (donc l'ajout de 1 me donnera une valeur de compteur de 1). Notez que je ne veux pas me fier au nombre brut de lignes enfants, au cas où l'application héritée introduirait des lacunes dans les valeurs de compteur (possible). Mon mal d'essayer de rendre la question trop générique.