Datacontract或客户端模型?

时间:2012-04-12 08:57:57

标签: wcf silverlight bdd datacontract

我目前正在撰写Mid / Large silverlight应用程序。

我目前的架构如下。

在服务器端,我有使用实体框架ORM从现有数据库创建的实体对象。

我有WCF服务,方法将表示我的实体对象的Datacontracts传回客户端silverlight应用程序。

我的问题是我应该收到银光一侧的Datacontract 1)在MVVM中使用此DataContract作为我的模型 2)将datacontract转换为客户端模型对象以在MVVM中使用。

选项1:我不确定将客户端的Datacontracts视为模型是否被认为是一般的不良做法,因为它们是ultimatley WCF消息类型。

选项2:这种选择使我能够完全脱离服务器,并允许我从行为驱动的方法开发我的代码。

1 个答案:

答案 0 :(得分:2)

您的评估是正确的,用于WCF的数据合同可以被视为数据传输对象,它是向服务传输数据和从服务传输数据的一种方式。

另一方面,您的模型可能包含行为,业务规则和验证。所以我会选择2。

这还可以让您更轻松地管理服务和客户端应用程序中的更改,因为该服务不会与服务的特定使用者耦合。

相关问题