WCF数据服务和动态更改的数据集

本文关键字:数据集 动态 数据 服务 WCF | 更新日期: 2023-09-27 18:15:14

从我所看到的到目前为止,WCF数据服务是非常容易设置时,使用它与EF。

这就是我想要的开箱即用,但我也需要EF模型在运行时改变的能力。

我正在构建一个应用程序,应用程序的用户将能够指定数据库结构,然后开始填充它…然后使用一些基于规则的巧妙技巧用MVC生成所需的相关UI组件。

因此,例如用户将得到一个"创建新对象"按钮,这将允许他们指定字段名称。

一旦该部分完成,用户提交该部分并在db中生成一个新表。从那里生成UI组件,允许在应用程序中管理该表。

问题当然是在不重新编译后端数据服务的情况下将新表放入EF模型。

这个概念是建立数据库和管理它的各个部分所需的页面(这里有一个更大的画面,但我不想通过试图解释这一切来混淆问题)。

我在想,也许EF不是目前使用的正确工具…因为它需要一组强类型的实体才能工作……在这种情况下,这可能是不可能的。

我正在考虑给这个服务传递动态对象…(例如:Something: dynamic)

WCF数据服务和动态更改的数据集

我建议不仅实体框架不适合这个,但也不是关系数据库。文档数据库或键值存储可能比按需创建表更适合,从而将其塞进关系结构中。

WCF数据服务可以不使用实体框架。使用"反射提供程序"或自定义提供程序,您将不得不实现(反射提供程序要求您拥有实际的。net类,而您没有)。

基本上,你实现了DataService类和IServiceProvider接口,后者将提供IDataServiceQueryProvider、IDataServiceMetadataProvider和IDataServiceUpdateProvider的实例。这可能涉及很多工作,所以请确保您确实想要这样做。

OMG…

显然这是支持(大部分)开箱即用的EF 4.2

http://blogs.msdn.com/b/adonet/archive/2011/09/28/ef-4-2-release-candidate-available.aspx

哇! !