C# 延迟更新绑定到列表的元素

C# 延迟更新绑定到列表的元素,c#,binding,C#,Binding,请告诉我需要以下场景的帮助。 我有一个包含实体对象的绑定列表。我正在将当前实体对象传递给一个保存表单,该表单用于更新作为参数传递的实体对象。此保存表单读取实体对象类的属性并相应地显示控件。每个控件都绑定到实体对象的属性。每当我更改控件值时,相应的实体属性都将更新,这将更新实体列表中的实体对象。 我需要的是仅在单击“更新”按钮后才在保存表单中的实体对象上应用更改。 一种解决方法是在将实体对象传递到保存表单之前复制实体对象。但据我所知,制作对象的深度副本成本很高。创建一个新类,该类将类似于实体,并充

请告诉我需要以下场景的帮助。 我有一个包含实体对象的绑定列表。我正在将当前实体对象传递给一个保存表单,该表单用于更新作为参数传递的实体对象。此保存表单读取实体对象类的属性并相应地显示控件。每个控件都绑定到实体对象的属性。每当我更改控件值时,相应的实体属性都将更新,这将更新实体列表中的实体对象。 我需要的是仅在单击“更新”按钮后才在保存表单中的实体对象上应用更改。
一种解决方法是在将实体对象传递到保存表单之前复制实体对象。但据我所知,制作对象的深度副本成本很高。

创建一个新类,该类将类似于实体,并充当更新表单上属性的缓冲区。当用户单击“更新”时,从缓冲区类读取所有属性并将其传递给实体,然后将其保存到DB。

这将与制作实体对象的深度副本一样昂贵。假设我的实体包含一个引用列表X,其中每个X本身就是一个引用列表Y。我必须从缓冲区类复制所有这些属性。添加缓冲区类还可能使代码更难维护,因为实体类中的每一个更改都应该应用于缓冲区类。