2010-10-18 75 views
3

我正在使用ODATA向外部世界公开应用程序。首先让我们介绍一下这个应用程序。我可以为此使用实体框架吗?

在那个应用程序中我需要创建一个允许用户在数据库上执行CRUD操作的库。为此客户提供了XSD,我们需要从中生成类。使用这些类和客户端提供的数据服务提供者用户可以执行CRUD操作。

此应用程序已准备就绪,现在我想使用ODATA公开它。这是我的发现w.r.t.公开此库为ODATA

  1. 我需要使用自定义/反射提供程序,因为我无法使用实体框架,因为我无法访问数据。

但是在将来XSD会改变。所以我需要在发生这种情况时更改元数据。我可以如何处理最新的metaddata,而不必更改我的代码,以便始终显示它?

我可以继续使用反射/自定义提供程序吗?

感谢,

拉姆

+0

您的应用程序将如何访问数据? – 2010-10-18 11:10:30

+0

目前应用加入库的参考和访问数据。相反,我希望开发人员应该能够添加库的服务引用(O Data)。 – Ram 2010-10-18 12:02:12

+0

你可以使用文本模板和poco实体生成器,你的代码将被改变,但只是在文本模板和一个编译的一点点改变。 – 2010-10-22 20:29:08

回答

0

你绝对可以改变返回XSD变化时的OData的形状。但是,这是一个严重的问题。大多数客户端将根据服务参考号为时添加的生成的SSDL生成客户端类。结果,客户端将失败,因为对象模型将不匹配新的数据形状。

当模式更改时,您最好创建新版本的服务。然后,即使您需要删除以前的版本(这会在客户端上导致运行时错误)。

另一种选择是使用WCF向前兼容功能。但是,我不知道他们如何使用WCF数据服务。

Erick

相关问题