【问题标题】:WPF MVVM: Should all POCOs be recreated after insert/update/delete?WPF MVVM:插入/更新/删除后是否应该重新创建所有 POCO?
【发布时间】:2017-05-22 14:34:51
【问题描述】:

我正在使用 MVVM 模式开发 WPF 应用程序。 UI 的一部分很像主细节设置。 显示的对象是具有持久性数据库的 POCO。

我的问题是插入/更新/删除后应该发生什么 - 是否应该使用 GetList() 从数据库重新加载整个列表并创建新的 POCO,或者是否足以将现有列表保留在内存中并且只是添加/更新/删除新的 POCO?

【问题讨论】:

  • 每次更新数据库时从数据库中获取整个集合,会有点贵,不是吗?
  • 你在使用 ORM 吗?这是这样的理想情况。此外,您可以使用初始加载在视图模型中填充一个可观察的集合,并在其中添加/删除项目(如果您不使用 ORM,也可以执行 INSERT 和 DELETE);如果集合绑定正确,这将动态更新您的视图。这是一个示例:stackoverflow.com/questions/4279185/…

标签: c# wpf mvvm


【解决方案1】:

嗯,这取决于。如果您只是从您机器上的客户端应用程序更新数据库中的记录,则在执行插入/更新/删除后没有必要重新加载数据,因为无论如何您将始终拥有内存中的最新更改。

但如果数据库可能从其他地方更新,您将需要定期获取/重新加载数据,以便向用户显示最新的已知数据。

请注意,这与 MVVM 设计模式无关。

【讨论】:

  • MVVM 控件通常绑定到 POCO。
  • 你是什么意思,这与你的问题有什么关系......? POCO 只不过是内存中的对象。
  • 我有一些问题,在更新源列表时组合框被清除,因为所选项目引用不再在列表中。我想确保在遵循模式的同时解决这些问题...
  • 再次:这与您的原始问题无关。如果您还有其他问题,请提出新问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-12-10
  • 1970-01-01
  • 2011-05-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-30
相关资源
最近更新 更多