我有一个带有一些文本框和一个保存按钮的 Windows 窗体。当表单加载时,文本框会填充来自我模型中实体的数据。当用户单击保存按钮时,每个文本框中的值将被写回实体,然后调用 SaveChanges 将数据提交到数据库。
我想知道的是检查表单是否包含更改的最佳方法是什么?如果它不包含更改,那么我不需要调用 SaveChanges,我可以保存将记录写回数据库。如果它确实包含更改并且用户没有单击“保存”按钮,我希望用户确认不需要保存更改。
我想也许我可以更新实体的字段,然后在调用 SaveChanges 之前检查其 State 属性,但这会失败,因为更新任何字段,即使具有相同的值,也会导致实体被标记为已修改。
所以,我的问题是,在调用 SaveChanges 之前检查表单是否实际进行了更改的最佳方法是什么?
谢谢,
马特