WCF DataServices和动态更改的数据集

时间:2011-11-19 11:50:46

标签: c# wcf entity-framework wcf-data-services

从我到目前为止看到的WCF数据服务在与EF结合使用时非常容易设置。

这就是我开箱即用的东西,但我还需要能够在运行时更改EF模型。

我正在构建一个app,用户可以在其中指定数据库结构,然后开始填充...然后使用一些基于规则的聪明技巧,使用MVC生成所需的相关UI组件。

因此,例如,将为用户提供“创建新对象”按钮,这将允许他们指定字段名称。

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

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

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

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

我想要传递这个服务动态对象......(例如Something:dynamic类型的对象)

3 个答案:

答案 0 :(得分:1)

我建议不仅实体框架不适合这个,而且关系数据库也不是。文档数据库或键值存储可能比尝试按需创建表以将其推送到关系结构更合适。

答案 1 :(得分:1)

可以在没有实体框架的情况下使用WCF数据服务。使用“Reflection Provider”或您必须实现的自定义提供程序(Reflection提供程序要求您拥有实际的.NET类,而不是这样)。

基本上,您实现了DataService类和IServiceProvider接口,它将提供IDataServiceQueryProvider,IDataServiceMetadataProvider和IDataServiceUpdateProvider的实例。这可能涉及大量工作,因此请确保您确实想要这样做。

有关详细信息,请参阅http://msdn.microsoft.com/en-us/library/ee960143.aspx

答案 2 :(得分:0)

OMG ......

显然,大多数人都支持使用EF 4.2

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

哇!!!