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();

コードの 2 番目のビット。

これは次のようになります。

    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

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 に答える