Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在通过WCF使用实体对象的应用程序中利用RIA表单生成和验证?_C#_Entity Framework_Silverlight_Wcf Ria Services - Fatal编程技术网

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

C# 如何在通过WCF使用实体对象的应用程序中利用RIA表单生成和验证?,c#,entity-framework,silverlight,wcf-ria-services,C#,Entity Framework,Silverlight,Wcf Ria Services,这不是一个具体的编码问题,而是我在寻找一些关于如何解决我的问题的建议。我有一个Silverlight 5应用程序,它使用WCF来完成大部分操作——与RIA相比,我喜欢它给我的控件。许多WCF方法都将实体框架对象作为参数,并在服务器端处理额外的逻辑和授权。这工作得相当好,我有一个很好的小框架,允许我将对象传递回第四个,同时知道服务器只允许根据用户的权限更改某些内容 不过,我喜欢RIA的一些方面。我使用它来填充数据网格,因为它很容易生成过滤器、排序等。过去我在项目中更频繁地使用RIA,我最喜欢它的表

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

不过,我喜欢RIA的一些方面。我使用它来填充数据网格,因为它很容易生成过滤器、排序等。过去我在项目中更频繁地使用RIA,我最喜欢它的表单生成和验证元数据功能。我喜欢这样,通过一个类,它可以很容易地使我成为一个表单,包含所有的文本框、combodox、复选框、标签等,以及为每一个设置的双向绑定和错误验证。结合验证,因为我使用的是实体框架对象,所以我不能只在ORM生成的类上粘贴数据注释,所以RIA的自动生成元数据类在这方面非常有用


问题似乎是这些对象不兼容。我不能将RIA生成的类与需要实体框架对象的方法一起使用。我不能使用RIA生成表单,然后将它们绑定到我的常规实体对象,因为这样就没有自动验证。有人对我如何能娶这两个人有什么想法吗?我愿意接受想法/建议。

表单生成和验证魔法与RIA服务客户端的EntityObject基类无关

如果使用验证属性对WCF客户端的代理类进行注释,则可以得到大致相同的结果

如果您实现了IEditableObject,那么当您点击ESC时,datagrid将恢复修改后的数据

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


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

注释WCF代理类,在重新生成服务引用时不会覆盖这些类吗?