BreezeJS - 有没有办法用OData Web API使用旧式“One controller来统治它们”?

时间:2015-03-10 15:45:36

标签: asp.net-web-api odata breeze

我想通过OData Web API公开SQL Server Views,但我不想为每个视图创建单独的控制器,因为它们太多而且它们只接受所有视图的GET动词。

我以为我可以使用BreezeController来实现这一点,但它看起来我不能,因为它现在已经过时了(具有BreezeController属性的包被标记为过时)。

有没有办法通过适用于BreezeJS的OData Web API实现这一目标?

1 个答案:

答案 0 :(得分:2)

[BreezeController]属性未过时。事实上,它是您在Breeze示例中看到的“快乐路径”Web API控制器的核心。我想知道是什么导致你不这么认为?你用的是什么包?

我指的是 ASP.NET Web API

ASP.NET Web API OData 是另一回事。尽管名称中包含“Web API”,但这与使用自己的行为和有线格式的服务器开发几乎完全不同。它不使用[BreezeController]属性,也从不使用。

我不确定你的短语“ view ”是什么意思,“每个视图的单独的控制器”。我想你的意思是我称之为“类型”。例如,在OData中,您期望Product实体类型的“Product”端点。

AFAIK, Web API OData 方法需要单独的控制器/ 。这就是微软的Mike Wasson says in his tutorial。他写道......

  

控制器是一个处理HTTP请求的类。您可以为OData服务中的每个实体集创建一个单独的控制器。

BreezeJS也支持 Web API OData ......虽然有limitations imposed by the current Microsoft implementation可能会让您暂停。

  

我们正在与OData团队合作,希望在未来几个月内有更好的消息。