2008-10-28 52 views
2

我正在深入LINQ--試圖理解基本模型(對我來說這似乎很酷)。下面的代碼是提交更新之前要執行的代碼。使用LINQ執行更新

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

到目前爲止,這麼好。但是,如果Single()方法失敗,你會怎麼做 - 如果沒有找到帳戶ID?

謝謝!

回答

9

您應該使用SingleOrDefault,如果查詢不返回一個值,你可以檢查它是否爲NULL:

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

該死的。我剛剛在今天早上做了一個選擇操作。非常感謝你。 – 2008-10-28 04:37:24

1

爲了增加Slace的答案,如果你打電話單,然後佔未找到ID,它會拋出一個異常。在一些情況下比返回null並明確處理它更合適。