linq中UPDATE修改保存数据 提交后没有正常保存。

准备准备换成linq方式操作数据库。
在做更改保存的时候遇到了一点问题。
代码如下:
//数据保存

        linq = new linqtosqlDataContext(strCon);    //实例化Linq连接对象

        T_bas_admin bas_admin = new T_bas_admin();//实例化T_bas_admin类对象
        bas_admin.username = textBox1.Text;
        bas_admin.userpwd = textBox2.Text;
        bas_admin.power = comboBox1.Text;
        bas_admin.comment = textBox3.Text;

        linq.T_bas_admin.InsertOnSubmit(bas_admin);  //添加操作人员信息
        linq.SubmitChanges();                       //提交操作

        MessageBox.Show("操作人员信息添加保存成功!");

                    *------------------------------
          如果增加了这条代码,则可以保存,但实现的添加功能,如果去掉了,没有成功保存。修改。
                linq.T_bas_admin.InsertOnSubmit(bas_admin);  //添加操作人员信息
                数据库中用的SQL SERVER 自动增加的流水号做主键。 想实现,找到此条信息后,更新部分字段信息。

linq.T_bas_admin.Add(bas_admin);
或者
linq.T_bas_admin.AddObject(bas_admin);

用的是 linq to sql,刚刚开始弄。 增加和,删除都是可以的。 增加 :linq.T_bas_admin.InsertOnSubmit(bas_admin) 删除:linq.T_bas_admin.DeleteAllOnSubmit( ); 但就是更新不行。 AddObject 是直接加上去就行吗? 还是要增加引用呢。

问题解决了,但不知道方法是不是很笨,而且添加的保存和修改的保存要写2个保存函数,有更好的办法还望指点。 感觉还是写SQL 来的方便啊。
linq = new linqtosqlDataContext(strCon); //实例化Linq连接对象
//查找要修改的员工信息

        var result = from bas_admin in linq.T_bas_admin
                     where bas_admin.id == Convert.ToInt32(textBox5.Text)
                     select bas_admin;
        //对指定的员工信息进行修改

        foreach (T_bas_admin bas_admin in result)
        {
            bas_admin.username = textBox1.Text;
            bas_admin.userpwd = textBox2.Text;
            bas_admin.power = comboBox1.Text;
            bas_admin.comment = textBox3.Text;
            linq.SubmitChanges();
        }
        MessageBox.Show("员工信息修改保存成功");
        BindInfo();