Odata edm vs反射提供者

时间:2012-03-12 09:49:09

标签: odata ado.net-entity-data-model

我想知道哪个最适合 - 项目的EDM或反射提供者。 绝对是EDM在数据库上开发起来要简单得多。但问题是,如果我们已经在数据库上有数据访问层,那么如果选择EDM,我们可能不得不改变现有的架构。所以我想知道是否有在实体数据模型或反射提供程序之间使用以将数据公开为Odata feed的任何特定差异。

1 个答案:

答案 0 :(得分:0)

Reflection提供程序使用反射根据类层次结构构建模型。 EDM提供程序直接使用实体框架创建的模型。如果您已经有数据访问层,那么我认为您实际上有三个选项:    - 如果效果很好,请尝试使用Reflection提供程序。不幸的是我怀疑它会起作用 - 它会改变你的对象,但我认为它不会向数据库发送查询。除了能够更新数据之外,您还需要实现IUpdatable接口    - 使用EDM / EF提供程序,您可能需要将所有数据访问层移至EF。这意味着你可能不得不摆脱你拥有的访问层。好处是,一旦完成它应该开箱即用(查询更新等)    - 最后,您可以实现自定义提供程序。您必须实现一些接口,这些接口将充当WCF数据服务和访问层之间的桥梁。请注意,这是相当多的工作。以下是本系列中第一篇描述如何操作的帖子:http://blogs.msdn.com/b/alexj/archive/2010/01/07/data-service-providers-getting-started.aspx