我正在尝试更新数据库中的记录,更改是在我为页面创建的列表上进行的,但是当我尝试更新数据库本身时,出现一条错误,指出


  无法更新List1:它没有PK


该应用程序在代码的最后一行中断。我的表有一个主键。在Tno中应为Students

private void ChangeMajor_Button_Click(object sender, RoutedEventArgs e)
{
    var query = Roster_Students.Where(s => s.Tno == Tno_TextBox.Text);
    foreach (var student in query)
        student.Major = ChangeMajor_TextBox.Text;

    App.DBConnection.Update(this.Roster_Students);
}

最佳答案

稍微修改代码似乎可以解决问题。这是新代码:

private void ChangeMajor_Button_Click(object sender, RoutedEventArgs e)
{
    var query = Roster_Students.Where(s => s.Tno == Tno_TextBox.Text);
    foreach (var student in query) {
        student.Major = ChangeMajor_TextBox.Text;
        App.DBConnection.Update(student);
    }
}

10-07 12:43