2
        MyDatatBaseDataContext MyDB = new MyDatatBaseDataContext();
        var _Update = from u in MyDB.Employees where u.Address == "WestSreet" select u;
        foreach (var item in _Update)
        {
            item.Address = "WS";
        }
        MyDB.SubmitChanges();
        var Select = from s in MyDB.Employees select s;
        grd_1.ItemsSource = Select;

使用上面的代码,我可以更新记录,我也可以在原始表数据和 DataGrid 中看到记录修改。原始表已成功更新。

        MyDatatBaseDataContext MyDB = new MyDatatBaseDataContext();
        var _Udate_2 = MyDB.Employees.Where(u => (u.Address == "WestSreet"));
        foreach (var item in _Udate_2)
        {
            item.Address = "WS";
        }
        var Select = from s in MyDB.Employees select s;

        grd_1.ItemsSource = Select;

使用上面的代码,我可以更新记录。我可以在 DataGrid 中看到修改 但在原始表数据中看不到记录修改。原始表没有更新。

4

2 回答 2

3

你错过了一个

  MyDB.SubmitChanges();

在第二段代码上。

应该是这样的:

    MyDatatBaseDataContext MyDB = new MyDatatBaseDataContext();
     var _Udate_2 = MyDB.Employees.Where(u => (u.Address == "WestSreet"));
    foreach (var item in _Udate_2)
    {
        item.Address = "WS";
    }
    MyDB.SubmitChanges();
    var Select = from s in MyDB.Employees select s;

    grd_1.ItemsSource = Select;
于 2012-07-02T09:08:06.463 回答
2

因为在第二个代码中你没有打电话MyDB.SubmitChanges();

MyDatatBaseDataContext MyDB = new MyDatatBaseDataContext();
        var _Udate_2 = MyDB.Employees.Where(u => (u.Address == "WestSreet"));
        foreach (var item in _Udate_2)
        {
            item.Address = "WS";
        }
MyDB.SubmitChanges(); // Need to call that
于 2012-07-02T09:08:43.013 回答