编码我的WebApiConfig.cs以获取数据库优先oData端点服务

时间:2018-09-19 18:10:05

标签: asp.net-web-api entity-framework-6 asp.net-web-api-routing ef-database-first asp.net-web-api-odata

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

screenshot of VS 2017 Solution Explorer

screenshot of my EDM

我让Visual Studio为我架设了基于EDM的Controller。

screenshot of VS 2017 Solution Explorer

enter image description here

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

1 个答案:

答案 0 :(得分:0)

我找到了哪里出了问题。

首先,我添加了错误的脚手架控制器。最初,当我添加控制器时,我去了(右键单击“ Controllers”)-> Add-> New Scaffolded Item,如下所示。它给了我2个可能的Web API控制器选项。我选择了一个基于Entity Framework预先填充了CRUD功能的软件。

enter image description here

enter image description here

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

enter image description here

enter image description here

锦上添花?注释掉了,在控制器顶部,正是我需要的WebApiConfig.cs代码!

enter image description here

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

enter image description here

不要害怕;只需将您的网址从“ http://localhost(在此插入端口) /”修改为“ http://localhost(在此插入端口) / odata / < em>(在此处插入模型对象)“

例如:我将URL更改为“ http://localhost:51044/odata/vw_FilesToBeProcessed_Dashboard”,并且得到了odata输出!

enter image description here