Vérifier si une seule() LINQ retourner la valeur NULL

J'ai une requête LINQ qui doit renvoyer un résultat unique ou pas de résultats. J'appelle Single() pour obtenir le résultat comme ceci:

var propertyDataSource = (from x in myCollection
                          where SomeCondition(x)
                          select x).Single();

Cela fonctionne ok lorsque ma requête a qu'un seul résultat, mais si il n'y a pas des résultats il jette à un System.InvalidOperationException avec le message Séquence contient pas d'éléments.

Comment puis-je résoudre ce problème?

OriginalL'auteur Mina Gabriel | 2014-01-17