我正在开发一个使用WPF的应用程序。我使用的模式显然是MVVM。此外,我正在使用实体框架ORM和LINQ-to-Entities查询EF对象。涉及在ViewModel或Model中处理数据(来自数据库)的逻辑?
我对MVVM的理解是,View应该没有代码隐藏,只有ViewModel应该具有的知识是ViewModel包含某些与View绑定的属性,并且它包含处理事件的命令视图。模型只包含从数据库获取数据的代码。
在我的模型类中,我刚刚编写了使用Linq-to-entities直接查询EF对象的函数。在将数据分配给虚拟机中的属性之前,需要对数据执行的处理过程可能存在于虚拟机或存在于虚拟机项目中的类中。在这里要提到的是,我有3个项目 - View,ViewModel和Model。
我的问题在于,我可以在VM项目中保留这些函数(涉及处理来自数据库的数据)还是应该在Model项目中?如果在ViewModel项目中,它应该位于VM项目中的相关VM还是单独的类中?
感谢您的详细回复 – 2011-05-27 13:08:19