EF生成类&MVVM项目

本文关键字:MVVM 项目 EF | 更新日期: 2023-09-27 18:03:58

我开始了一个项目,试图尊重MVVM模式和使用实体框架,但是我对不同的层组织有点困惑。

这是我目前关心的问题:EF根据我的数据库结构生成POCO类。如果我理解的话,这些应该是我的模型。与数据库的交互被排除在基本的MVVM模式之外(它们属于一个额外的层-通常称为我所见过的数据-)

然而,这些POCO类不实现INotifyPropertyChanged,这是从我目前看到/理解的MVVM的少数几个,一个相当关键的点,因为它允许绑定工作。

我找到了一些关于这个问题的链接,但我读到的大多数不同的答案让我越来越困惑。

回到一个更简洁的问题:为了完成生成的POCO类并实现INotifyPropertyChanged,理想的解决方案是什么?

  • 考虑POCO生成的类作为额外层的一部分,在它周围创建一个包装器作为官方模型?
  • 创建第二个部分类来完成POCO类?
  • 在实现这个接口时EF生成类吗?(我宁愿现在不诚实,至少在我学习的时候。不过以后可能会很有趣)
  • 我也读过一些框架,但仍在学习基础知识,我宁愿自己挣扎一点,现在不添加工具,这可能会让我的头更困惑,而不是帮助。

谢谢。

EF生成类&MVVM项目

我个人会创建ViewModel对象,它会公开UI感兴趣的POCO对象的元素——这似乎是相当多的重复,但它将UI与底层业务/数据对象分开。