2017-08-28 3 views
3

J'ai le modèle de magasin que je veux retourner null si mon modèle est nul. Cette requête renvoie parfois une valeur et renvoie parfois la valeur null. Comment puis-je spécifier le type de retour pour inclure les deux?C# Comment retourner null ou un modèle

+0

Une référence de classe est par défaut annulable, Pourriez-vous s'il vous plaît ajouter un peu plus de description dans ce que vous voulez réaliser? Si vous voulez savoir comment utiliser linq pour retourner une valeur nulle, vous pouvez utiliser SelectFirstOrDefault –

+5

Vérifiez les méthodes d'extension définies dans 'Enumerable', ainsi que' Single() 'vous trouverez, par exemple,' SingleOrDefault() ' –

Répondre

6

Essayez d'utiliser

public Store Details() => db.Store.FirstOrDefault(s => s.Id == 1); 
+5

Vous pouvez essayer' SingleOrDefault() 'aussi; à la place 'FirstOrDefault()'. –

4

Utilisez SingleOrDefault au lieu de FirstOrDefault, parce exception est levée si plus d'un se trouve

// Exception is thrown if more than one is found. (id have to be unique) 
public Store Details() => db.Store.SingleOrDefault(s => s.Id == 1); 

// does not throw exceptions 
public Store Details() => db.Store.FirstOrDefault(s => s.Id == 1);