【问题标题】:Do I need to make a Custom Data Provider if I want to OData + EF + my own contracts?如果我想要 OData + EF + 我自己的合同,是否需要制作自定义数据提供者?
【发布时间】:2011-08-21 01:11:30
【问题描述】:

我正在为我的公司使用实体框架 (EF) 创建 OData(WCF 数据服务)端点。

我们已经意识到标准 OData + EF 将我们与数据库的耦合过于紧密]1。所以我希望在 EF 和 OData 之间添加另一层。

所以我的问题是:我需要创建一个Custom Data Service Provider 还是有办法将 OData Reflection Provider 连接到 EF?我已阅读有关反射提供程序的信息,它似乎仅适用于内存中的东西。我不知道如何将其与 EF 加载数据的方式联系起来。

注意:我的 OData 服务是只读的。我不需要它们是可更新的。

【问题讨论】:

    标签: wcf entity-framework entity-framework-4 odata wcf-data-services


    【解决方案1】:

    据我了解,反射提供程序应满足您的所有要求。您只需要创建一些类,它将使用您的自定义对象的IQueryable<> 公开属性。反射提供者不仅仅适用于内存——它只需要一个类来探索反射,但该类的实现取决于你。 Linq-to-Sql 上下文也通过反射提供程序公开,它们绝对不仅仅是内存中的东西。

    您将遇到的问题是将对您的自定义对象的查询转换为对您的实体的查询,因为这无法本地翻译。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-06
      相关资源
      最近更新 更多