2008-10-28 6 views
2

Je suis en train de creuser dans LINQ - en essayant de comprendre les modèles de base (cela me semble plutôt cool). Le code ci-dessous est le code à effectuer avant de valider une mise à jour.Effectuer une mise à jour avec LINQ

Linq01.Account acc = context.Accounts.Single(pc => pc.AccountID == AccountID); 
    acc.Name = textboxAccountNameRead.Text.Trim(); 
    context.SubmitChanges(); 

Jusqu'ici, tout va bien. Mais que faites-vous si la méthode Single() a échoué - si l'ID de compte n'a pas été trouvé?

Merci!

Répondre

9

Vous devez utiliser SingleOrDefault, si la requête ne renvoie pas une valeur que vous pouvez le vérifier contre null:

var acc = context.Accounts.SingleOrDefault(pc => pc.AccountId == AccountId); 
if(acc != null) 
{ 
    acc.Name = textboxAccountNameRead.Text.Trim(); 
    context.SubmitChanges(); 
} 
+0

Merde. Je l'ai fait avec une opération sélective ce matin. Merci beaucoup. –

1

Pour ajouter à la réponse de Slace, si vous appelez seul et compte ID n'a pas été trouvé, il va lancer une exception. Dans certains cas est plus approprié que de retourner null et de le gérer explicitement.

Questions connexes