保存 table/column 更新 c# 实体
Saving table/column updates c# entity
我正在尝试找到一种更简洁的方法来保存 table/column 更新。我有一个代表当前订单 table 条目的对象和一个包含所有更新值的对象。我想将每个变量与每个对象中的匹配名称进行比较,如果不同则将更新保存到数据库中。
我目前的做法(我知道写得不好)如下:
if (currentOrder.Comment != editedOrder.Comment)
{
createOrderUpdateRecord("Comment", currentOrder.Comment.ToString(), editedOrder.Comment.ToString(), OrderID);
currentOrder.Comment = editedOrder.Comment ;
anyChangesMade = true;
}
if (currentOrder.CustomerName != editedOrder.CustomerName )
{
createOrderUpdateRecord("CustomerName ", currentOrder.CustomerName .ToString(), editedOrder.CustomerName .ToString(), OrderID);
currentOrder.CustomerName = editedOrder.CustomerName ;
anyChangesMade = true;
}
然后在 createOrderUpdateRecord 方法中,我将信息保存到编辑 table。
如果有人感兴趣,我最终使用启用了跟踪器的数据库上下文库和 entity framework 来跟踪对 table 字段的更改,这完美地完成了工作
如果您在参考 table/column-updates 时使用普通的 .NET Winforms DataGridView:
有一个名为“CellValueChanged”的事件。还有“CellEndEdit”。如果您订阅了其中任何一个,则可以将“已更改”变量设置为 true 以跟踪是否必须更新数据库中的值。
我正在尝试找到一种更简洁的方法来保存 table/column 更新。我有一个代表当前订单 table 条目的对象和一个包含所有更新值的对象。我想将每个变量与每个对象中的匹配名称进行比较,如果不同则将更新保存到数据库中。 我目前的做法(我知道写得不好)如下:
if (currentOrder.Comment != editedOrder.Comment)
{
createOrderUpdateRecord("Comment", currentOrder.Comment.ToString(), editedOrder.Comment.ToString(), OrderID);
currentOrder.Comment = editedOrder.Comment ;
anyChangesMade = true;
}
if (currentOrder.CustomerName != editedOrder.CustomerName )
{
createOrderUpdateRecord("CustomerName ", currentOrder.CustomerName .ToString(), editedOrder.CustomerName .ToString(), OrderID);
currentOrder.CustomerName = editedOrder.CustomerName ;
anyChangesMade = true;
}
然后在 createOrderUpdateRecord 方法中,我将信息保存到编辑 table。
如果有人感兴趣,我最终使用启用了跟踪器的数据库上下文库和 entity framework 来跟踪对 table 字段的更改,这完美地完成了工作
如果您在参考 table/column-updates 时使用普通的 .NET Winforms DataGridView:
有一个名为“CellValueChanged”的事件。还有“CellEndEdit”。如果您订阅了其中任何一个,则可以将“已更改”变量设置为 true 以跟踪是否必须更新数据库中的值。