我正在深入研究LINQ - 尝试理解基本模型(对我来说似乎很酷)。下面的代码是提交更新之前要执行的代码。
Linq01.Account acc = context.Accounts.Single( pc => pc.AccountID == AccountID );
acc.Name = textboxAccountNameRead.Text.Trim();
context.SubmitChanges();
到目前为止,这么好。但是,如果Single()方法失败,你会怎么做 - 如果找不到帐户ID?
谢谢!
答案 0 :(得分:9)
您应该使用SingleOrDefault
,如果查询没有返回值,您可以将其检查为null:
var acc = context.Accounts.SingleOrDefault(pc => pc.AccountId == AccountId);
if(acc != null)
{
acc.Name = textboxAccountNameRead.Text.Trim();
context.SubmitChanges();
}
答案 1 :(得分:1)
要添加到Slace的答案,如果您调用Single,然后找不到帐户ID,则会引发异常。在一些情况下,这比返回null并显式处理它更合适。