【发布时间】:2016-03-08 12:20:09
【问题描述】:
来自其他网站的示例:
在 WebApiConfig.cs 中
EntitySetConfiguration<ContactType> contactType = builder.EntitySet<ContactType>("ContactType");
var actionY = contactType.EntityType.Action("ChangePersonStatus");
actionY.Parameter<string>("Level");
actionY.Returns<bool>();
var changePersonStatusAction = contactType.EntityType.Collection.Action("ChangePersonStatus");
changePersonStatusAction.Parameter<string>("Level");
changePersonStatusAction.Returns<bool>();
在 ContactTypeController 中
[HttpPost]
[ODataRoute("Default.ChangePersonStatus")]
public IHttpActionResult ChangePersonStatus(ODataActionParameters parameters)
{
if (ModelState.IsValid)
{
var level = parameters["Level"];
// SAVE THIS TO THE DATABASE OR WHATEVER....
}
return Ok(true);
}
现在可以调用动作了:
For the Entity:
http://localhost:51902/odata/ContactType(5)/Default.ChangePersonStatus
For the Entity Collection:
http://localhost:51902/odata/ContactType/Default.ChangePersonStatus
我不明白我们如何在操作中检索 Id = 5 的 ContactType 并在使用 ..odata/ContactType(5)/Default.ChangePersonStatus 时通过此 ID 将某些内容保存到数据库 链接
【问题讨论】:
标签: asp.net-web-api odata asp.net-web-api2