我可以使用Entity Framework吗?

时间:2010-10-18 09:29:05

标签: .net wcf entity-framework ado.net

我正在开发一个我希望使用ODATA向外部世界公开的应用程序。让我先给你一个应用程序的想法。

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

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

  1. 我需要使用自定义/反射提供程序,因为我无法使用实体框架,因为我无法访问数据。
  2. 但未来XSD会发生变化。因此,只要发生这种情况,我就需要更改元数据。我可以处理它,以便在不更改代码的情况下始终公开最新的元数据吗?

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

    谢谢,

    拉​​姆

1 个答案:

答案 0 :(得分:0)

您绝对可以更改XSD更改时返回的OData的形状。但是,这有一个严重的问题。大多数客户端将根据添加服务引用时存在的SSDL生成客户端类。因此,客户端将失败,因为对象模型将与新的数据形状不匹配。

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

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

埃里克