我正在开发一个我希望使用ODATA向外部世界公开的应用程序。让我先给你一个应用程序的想法。
在该应用程序中,我需要创建一个允许用户对数据库执行CRUD操作的库。为此客户端提供了XSD,我们需要从中生成类。使用这些类和客户端提供的数据服务提供者用户可以执行CRUD操作。
此应用程序已准备就绪,现在我想使用ODATA公开它。以下是我的发现w.r.t.将此库公开为ODATA
但未来XSD会发生变化。因此,只要发生这种情况,我就需要更改元数据。我可以处理它,以便在不更改代码的情况下始终公开最新的元数据吗?
我可以继续使用反射/自定义提供程序吗?
谢谢,
拉姆
答案 0 :(得分:0)
您绝对可以更改XSD更改时返回的OData的形状。但是,这有一个严重的问题。大多数客户端将根据添加服务引用时存在的SSDL生成客户端类。因此,客户端将失败,因为对象模型将与新的数据形状不匹配。
在架构更改时,您最好创建新版本的服务。然后,即使您需要删除以前的版本(这将导致客户端上的运行时错误)。
另一种选择是使用WCF前向兼容功能。但是,我不知道它们如何与WCF数据服务一起使用。
埃里克