使用LINQ执行更新

时间:2008-10-28 04:32:50

标签: c# linq

我正在深入研究LINQ - 尝试理解基本模型(对我来说似乎很酷)。下面的代码是提交更新之前要执行的代码。

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

到目前为止,这么好。但是,如果Single()方法失败,你会怎么做 - 如果找不到帐户ID?

谢谢!

2 个答案:

答案 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并显式处理它更合适。