1
我的基于WPF桌面的应用程序使用ADO.Net Entity Framework来连接到SQL Server数据库。在其中一个窗口中,我有一个包含tbl_users
所有数据的DataGrid,当用户选择其中一行(记录)并单击Edit
时,应用程序将打开一个带窗体的新窗口,其中包含用户可以编辑/更新的所有数据。如何通过ADO.NET实体框架从数据库更新记录?
我的问题是如何通过ADO.NET实体框架将表中某个值的更改(更新/编辑)保存到数据库?
这里有一些代码段,有助于了解情况:
1 - 编辑窗口构造
public object objToBeEdited;
public WinWorkers_EditWorker(tbl_users userToBeEdited)
{
this.Title = Glidus.Properties.Resources.WinWorkers_EditWorker_WinName + Glidus.Properties.Resources.WinApp_WinName;
}
2 - 方法更新,不工作
tbl_users newUser = new tbl_users() //assume inputted values to new ibject
{
userName = this.WinWorkers_AddEditWorkers_Form_UserName.Text,
userPassword = this.WinWorkers_AddEditWorkers_Form_Password.Text,
userAccessLevel = this.WinWorkers_AddEditWorkers_Form_UserAccessLevel.Text
};
//default minimal password length is 4
if (App.IsInputValueMinLenOK(newUser.userPassword, 4))
{
EntityKey key = App.glidusContext.CreateEntityKey("tbl_users", objToBeEdited);
if (App.glidusContext.TryGetObjectByKey(key, out objToBeEdited))
{
App.glidusContext.ApplyCurrentValues<tbl_users>(key.EntitySetName, newUser);
}
try
{
App.glidusContext.SaveChanges();
}
catch (Exception ex)
{
App.UnitedHandleException(ex);
}
请,帮助我,如何从数据库实现更新ADO.NET记录。
例如,在我的桌子上有007,后编辑页面(点击提交页)我看王牌大贱谍008