Silverlight 这是否正确使用WCF和数据合同?

Silverlight 这是否正确使用WCF和数据合同?,silverlight,wcf,Silverlight,Wcf,我对Silverlight还是相当陌生的,对WCF也是相当陌生的,我正试图在这两方面拓宽我的视野。我想在这样做的同时了解什么是好的做法 在客户端,我有一个Silverlight应用程序。在服务器端,我有一个Silverlight应用程序将使用的数据库。在两者之间(好的,它是服务器端的,但是…),我有一个WCF服务,客户端调用该服务从数据库获取数据 我创建了一个类,该类标记为DataContract,由WCF服务使用。该类是由数据库中的数据填充的对象模型。在客户端,当它请求并接收此类的实例时,它使

我对Silverlight还是相当陌生的,对WCF也是相当陌生的,我正试图在这两方面拓宽我的视野。我想在这样做的同时了解什么是好的做法

在客户端,我有一个Silverlight应用程序。在服务器端,我有一个Silverlight应用程序将使用的数据库。在两者之间(好的,它是服务器端的,但是…),我有一个WCF服务,客户端调用该服务从数据库获取数据

我创建了一个类,该类标记为
DataContract
,由WCF服务使用。该类是由数据库中的数据填充的对象模型。在客户端,当它请求并接收此类的实例时,它使用实例数据实例化并填充具有其他客户端定义成员的客户端定义对象

我最担心的是使用
DataContract
。创建一个要序列化和发送的对象的实例,却为了获取其数据而被掠夺,这样就可以创建另一个对象,这似乎效率低下。但如果这被认为是一个好的做法,我可以克服它


我确实考虑过Web处理程序(.ASHX)的路由,并使用专有二进制标准来传递数据,但我认为WCF路由可能在将来更适用和有用(思考:作业)。 在我看来,您所描述的是将数据作为DTO(数据传输对象)从服务传输到客户机,然后使用该DTO填充视图模型对象。DTO和视图模型对象根据所表示的数据使用不同的粒度级别也是很常见的(通常DTO会更粗粒度),并且视图模型将包含特定于UI的行为


您可能希望了解有助于DTO和视图模型对象之间映射的工具和框架。我最喜欢的产品之一是AutoMapper。

感谢您周到而有益的回复!