2012-03-22 44 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