首页 > 解决方案 > 为 Database First oData 端点服务编写我的 WebApiConfig.cs

问题描述

我正在构建一个将生成 oData 的 Web API 服务。我正在使用“数据库优先”方法,因为我在包含视图的“模型”文件夹中创建了一个 EDM。

VS 2017 解决方案资源管理器的屏幕截图

我的 EDM 截图

我让 Visual Studio 为我搭建了一个基于 EDM 的控制器。

VS 2017 解决方案资源管理器的屏幕截图

在此处输入图像描述

现在我正在尝试找出要放入我的 WebApiConfig.cs 文件的路由代码。到目前为止,我在 Internet 上找到的每个示例都涉及 Code First 方法。有谁知道如何通过数据库优先方法做到这一点?

标签: asp.net-web-apientity-framework-6asp.net-web-api-routingef-database-firstasp.net-web-api-odata

解决方案


我发现我哪里出错了。

首先,我添加了错误的脚手架控制器。最初当我添加我的控制器时,我去了(右键单击“控制器”) --> 添加--> 新脚手架项目,如下所示。它给了我 2 个可能的 Web API 控制器选项。我选择了一个基于实体框架预先填充了 CRUD 功能的那个。

在此处输入图像描述

在此处输入图像描述

事实证明,我应该做的是转到(右键单击“控制器”) -> 添加-> 控制器,如下所示。从那里我可以添加一个ODATA控制器!

在此处输入图像描述

在此处输入图像描述

蛋糕上的结冰?在控制器的顶部,注释掉的正是我需要的 WebApiConfig.cs 代码!

在此处输入图像描述

现在,公平的警告,当你运行你的代码时,它首先会显示一个错误。

在此处输入图像描述

不要惊慌失措;只需将您的 url 从“ http://localhost : (insert port here) /” 修改为“ http://localhost : (insert port here) /odata/ (insert model object here)

例如:我将我的网址更改为“ http://localhost:51044/odata/vw_FilesToBeProcessed_Dashboard ”,我得到了我的 odata 输出!

在此处输入图像描述


推荐阅读