构建没有实体框架的OData API

本文关键字:OData API 框架 实体 构建 | 更新日期: 2023-09-27 18:16:11

我有一个现有的web表单项目,由3个不同的项目组成:UI层(web项目),业务逻辑层和数据库项目。我已经编写了连接到数据库并将数据返回给业务逻辑层的数据访问方法。

现在我们需要提供一个REST API,我正在考虑使用oData API和REST。但是我看到的所有例子都使用了实体框架,而我就是不能使用实体框架,因为我们的数据访问层将数据返回给业务层,然后业务层处理该数据并添加一些逻辑,然后将其呈现给UI层。

我还可以使用oData API吗?如果是,那么我是否需要为oData API的每个复杂查询手动创建新的方法?OData API如何访问我的BL层?

构建没有实体框架的OData API

你可以这样做(我自己也做过类似的事情),但这是非常困难的工作。

对我来说,OData总是感觉像是一种通过web服务暴露实体框架的方式,所以如果你试图在没有实体框架的情况下实现它,你将最终花费大量时间解析对数据访问层的查询。

如果你决定沿着这条路走下去,也许可以考虑只实现OData规范的一部分——找出你真正想要使用的部分——因为它是巨大的,任务是艰巨的。

这些只是我的经验,你可能有一个更好的数据访问层API设置比我刚开始的时候,这可以使事情变得容易得多。

编辑回答最后一个问题:

您是否需要为oData API的每个复杂查询手动创建新的方法?这取决于你的数据是如何公开的,以及你的数据访问层是如何设置的。