如何在通过WCF使用实体对象的应用程序中利用RIA表单生成和验证?

时间:2013-12-27 03:30:54

标签: c# entity-framework silverlight wcf-ria-services

这不是一个特定的编码问题,而是我正在寻找有关如何解决我的问题的一些建议。我有一个Silverlight 5应用程序,它使用WCF来完成大部分操作 - 我喜欢它与RIA相比它给我的控件。许多这些WCF方法将Entity Framework对象作为参数,在服务器端处理额外的逻辑和授权。这很好用,我有一个很好的小框架,可以让我传回对象和第四个,同时知道服务器只会根据用户的权限更改某些内容。

我喜欢RIA的一些事情。我使用它来填充数据网格,因为它易于生成过滤器,排序等。过去我曾经更多地使用过RIA项目,我最喜欢它的表单生成和验证元数据功能。我喜欢它,有了一个类,它很容易让我成为一个包含所有文本框,combodoxes,复选框,标签等的表单,以及双向绑定和验证每个错误设置。由于我使用了Entity Framework对象,因此我无法在ORM生成的类上使用DataAnnotations,因此RIA的自动生成的元数据类在这方面非常有用。

问题似乎是这些对象不兼容。我不能将RIA生成的类与我期望实体框架对象的方法一起使用。我无法使用RIA生成表单,然后将它们绑定到我的常规实体对象,因为那时没有自动验证。有没有人对如何将这两个结婚有任何想法?我对思想/建议持开放态度。

1 个答案:

答案 0 :(得分:0)

表单生成和验证魔术不依赖于RIA服务客户端的EntityObject基类。

如果使用验证属性注释WCF客户端的代理类,则可以获得或多或少相同的结果。

如果实现IEditableObject,则当您按ESC时,datagrid将恢复已修改的数据。

通过仔细使用.shared.cs文件和链接的源文件,您可以共享大部分服务器端和客户端代码。

为了获得更大的灵活性,您需要开始制作自己的T4模板。