2012-03-22 59 views
1

我有MVVM,實體框架和WCF服務WPF應用程序。數據綁定到EF實體或視圖模型

我創建自跟蹤實體,以便實體類已經執行INotifyPropertyChanged。 我應該直接數據綁定這些類的特性(例如,具有在我的主視圖模型一個ObservableCollection<Author> Authors屬性)或我應該創建一個視圖模型具有相同屬性(和其主視圖模型ObservableCollection<AuthorViewModel> Authors屬性)?

另一個問題,不涉及到冠軍,但好。 在使用STE之前,我爲我的實體使用了POCO類,但它們不可序列化,WCF服務遇到了麻煩。有一個簡單的解決方案嗎?

+2

爲什麼你不波蘇斯序列化?它應該採取的只是一個或兩個。 – 2012-03-22 10:41:54

+0

修改生成的POCO類可以嗎? – Peekyou 2012-03-22 10:44:29

+0

更好地修改生成POCO的模板以添加適當的屬性。 – 2012-03-22 10:46:00

回答

1

建議的答案是使用ObservableCollection<AuthorViewModel>,主要是因爲如果需要實現任何其他UI特定的邏輯,那麼該邏輯應該位於ViewModel中,而不是Model中。根據我的經驗,如果只是爲了保持一致性,將模型包裝在視圖模型中始終更清晰。

+0

我同意你在你的ViewModel包木窗的模型允許進行視圖模型的具體變化,而無需修改模型(特別好,當模型是EF POCO)的能力 – Erick 2012-04-13 19:03:21