您好我正在开发一个WPF中的应用程序,它将具有分页记录(我根据过滤器或用户希望显示的每页记录数量自行进行分页。)
所以我从未认真对待DataGrids,我要问的是,当我们使用DataGrid更新数据库中的表时,最好的方法和更好的策略是什么?
我们检测到已更改的行,或者我们更新了DB中的整个表,有什么更好的方法?
因为用户可以更改一行,然后更改其他行,并想象用户更改了50行,应用程序将不得不与数据库连接50次?
答案 0 :(得分:1)
Unit of work可能是解决此问题的最常见的基础架构解决方案,基本上它存储应用于数据的更改,并在准备就绪时在数据库的事务中执行它们。有许多ORM地图制作工具,例如Entity Framework或nHibernate已经为您执行此操作,因此ID从那里开始。
修改强>
请参阅this示例实现,因为您的评论听起来需要编写自己的版本,但基本上您构建了一个应该发生的插入,更新,删除列表,并在trasaction中执行它们,插入,然后更新,然后删除,但Id建议您查看一个ORM,就像我上面描述的那样,他们已经将它作为一个功能。