我正在開發一個使用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