0

目前,我正在开发一个项目,该项目直接使用WCF与 Service 功能而不是WCF RIA进行交互。问题是我为silverlight客户端应用程序中的每个实体(服务中)创建模型以进行验证,没关系。但是每次我想在数据库中插入或更新实体时,我都应该使用客户端模型填充服务器实体。有什么办法可以防止这些额外的工作?

4

1 回答 1

1

一个典型的 MVVM (Silverlight) 客户端和 (WCF) 服务的第一个版本有很多重复的类型、逻辑和类型之间的映射。

这是创建 WCF RIA 服务的原因之一。

在 MVVM 应用程序的第一个版本中,模型和视图模型将非常相似。当出现新的需求并且视图添加了越来越多的功能时,这些将出现分歧,模型将与视图模型变得非常不同。

模型将由服务确定,而 ViewModel 由视图确定。这将导致映射越来越不重要。

我使用 T4 模板来生成基于 XML 定义的 ViewModel。这避免了编写无聊、重复的映射代码的需要。

编辑 请参阅Codeplex 上的 MVMMapper 项目以使用 T4 生成 ViewModel

于 2013-01-08T07:35:50.743 回答