gpt4 book ai didi

wpf - 如何通过 ADO.NET Entity Framework 更新数据库中的记录?

转载 作者:搜寻专家 更新时间:2023-10-30 23:22:55 34 4
gpt4 key购买 nike

我的基于 WPF 桌面的应用程序使用 ADO.Net Entity Framework 来连接到 SQL Server 数据库。在其中一个窗口中,我有一个 DataGrid,其中包含来自 tbl_users 的所有数据,当用户选择其中一行(记录)并单击 Edit 时, 应用程序打开一个带有表单的新窗口,其中包括用户可以编辑/更新的所有数据。

如何通过 ADO.NET Entity Framework 将其中一个表的值的更改(更新/编辑)保存到数据库?

以下是一些有助于理解情况的代码片段:

1 - 编辑窗口构造函数

public object objToBeEdited;

public WinWorkers_EditWorker(tbl_users userToBeEdited){
this.Title = Glidus.Properties.Resources.WinWorkers_EditWorker_WinName + Glidus.Properties.Resources.WinApp_WinName;
}

2 - 方法更新,不起作用

//assume inputted values to new object
tbl_users newUser = new tbl_users() {
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 记录。例如,在我的表格中有James Bond 007,在编辑页面(点击提交页面)后我看到Austin Powers 008

最佳答案

要编辑或更新,您可以使用 stub entities

Category category = new Category { ID = 5};
Context.AttachTo(“Categories”,category);

Product product = new Product {
Name = “Bovril”,
Category = category
};
Context.AddToProducts(product);
Context.SaveChanges();

关于wpf - 如何通过 ADO.NET Entity Framework 更新数据库中的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3956092/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com