让我先说一下:我问这个是因为我不知道如何开始。我了解 MVVM、WPF...但我缺乏总体概念。
这个想法是开发一个供内部使用的应用程序,它从数据库中获取数据的子集,然后在内存中进行复制。用户将处理该数据,修改一些值,可能添加和/或删除一些行,完成后,数据应存储回数据库中。
我需要研究如何有效地做到这一点的关键字是什么。有一些我可能感兴趣的设计模式吗?
一些随意的想法:
在这种情况下,我首先要担心的是适当锁定正在处理的数据,因为听起来用户会花一些时间编辑内存中的副本。在您的情况下这可能没有必要。
对于跟踪/提交更改,您可以存储代表对数据的操作的命令队列。然后,每个命令都会转换为要在数据库上执行的查询。 如果您使用 EF Core 或 EF6,您只需查询所需的数据,然后重新附加处于修改或删除状态的每个实体。 (不要保留长期存在的 DbContext)。
您甚至可以保存原始数据的副本,并仅在最后评估更改。
如果您跟踪旧值并且您的网络或 DBMS 不拥塞,那么拥有一个立即提交每个更改的聊天系统也可以发挥作用。