linq到sql更新标准

Lim*_*mey 5 asp.net linq-to-sql

所以我知道有很多关于如何使用linq更新数据库到SQL的问题,我的问题是,我是否按照公认的标准这样做?

这是我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        //load data to page
    }
    else
    {
        using (var db = new App_Data.MyDataContext())
        {
            var Query = (from p in db.peoples
                         where p.ipeople_ID == 59225
                         select p).Single();

            Query.cFirstName = FirstName.Value;

            try { db.SubmitChanges(); }
            catch (ChangeConflictException)
            {
                db.ChangeConflicts.ResolveAll(RefreshMode.KeepChanges);
                db.SubmitChanges();
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我通过反复试验来学习asp.net(以及大量的谷歌搜索!)所以我知道它会起作用,只是不知道代码是否会让我笑出会议!:d

谢谢

Bob*_*ich 2

一些变化:

我会将您的逻辑从页面加载事件移开,并显式触发保存/更新事件。

如果发生这种情况,我会解决更改冲突...我不会隐藏该错误并尝试重新提交更改。

protected void Page_Load(object sender, EventArgs e) {
 if (!IsPostBack){
  //load data to page
 }         
}

protected void SaveChanges_Click(object sender, EventArgs e) {
 using (var db = new App_Data.MyDataContext()) {
  var person = db.peoples.SingleOrDefault(p=> p.ipeople_ID == 59225);

  if(person == null) {
   // notify UI that person doesn't exist
   return;
  }

  person.cFirstName = txtFirstName.Text;

  try { db.SubmitChanges(); }
  catch (Exception ex){
   //Log error
  }
 }
}
Run Code Online (Sandbox Code Playgroud)