我将使用Silverlight + WCF + ORM开发3层应用程序
现在我的问题是,如果我在数据库层使用ORM,那么我如何在Presentation,Business层公开类来进行客户端验证呢?
答案 0 :(得分:1)
如果您使用WCF RIA服务而不是普通的Silverlight WCF,则可以属性数据对象的属性(在RIA为您创建的关联元数据类中)。
这允许您添加在服务器和客户端上运行的基本验证规则,甚至是自定义验证规则。
通过库使用WCF RIA服务是组织项目的首选方式,请尝试以下链接: Walkthrough: Creating a RIA Services Class Library
此外:
答案 1 :(得分:1)
将业务实体直接暴露给前端通常是一个坏主意。不仅适合您的后端层很适合您的前端,而且您还冒着向客户端公开安全关键信息的风险 - 这绝不应该被信任。
通常适用于我们的方法是使用MVVM模式开发Silverlight前端,并让您的WCF服务层返回可以或多或少直接映射到ViewModel的数据要求的DTO。这也是开发内部网/互联网客户端服务器应用程序时最重要的规则之一,也就是保持往返最小化,因为针对特定视图模型的需求量身定制的DTO可以同时包含所有相关信息。