【发布时间】:2011-05-26 11:53:07
【问题描述】:
我正在使用 WPF 开发应用程序。我使用的模式显然是 MVVM。此外,我正在使用实体框架 ORM 和 LINQ-to-Entities 来查询 EF 对象。
我对 MVVM 的理解是 View 不应该有代码隐藏,它应该拥有的 ViewModel 的唯一知识是 ViewModel 包含与 View 绑定的某些属性,并且它还包含处理视图事件的命令.而模型只包含从数据库中获取数据的代码。
在我的模型类中,我刚刚编写了使用 Linq-to-entities 直接查询 EF 对象的函数。在将数据分配给 VM 中的属性之前,我需要对数据执行的处理要么存在于 VM 中,要么存在于 VM 项目中的类中。在这里提一下,我有 3 个项目 - View、ViewModel 和 Model。
我的问题是,我可以将这些功能(涉及处理数据库中的数据)保留在 VM 项目中还是应该保留在模型项目中?如果在 ViewModel 项目中,它应该在相关的 VM 中还是在 VM 项目中存在的单独类中?
【问题讨论】:
标签: wpf entity-framework mvvm linq-to-entities