【发布时间】:2013-09-10 23:12:54
【问题描述】:
我想返回一个匿名类型,为此我使用 HttpResponseMessage,但结果是代码 406 Not Acceptable。这是我的代码
在 WebApiConfig 中
modelBuilder.EntitySet<Groups>("Groups");
var getComplete = modelBuilder.Entity<Groups>().Collection.Action("GetComplete");
getComplete.Returns<HttpResponseMessage>();
在控制器中
[HttpPost]
[Queryable]
public HttpResponseMessage GetComplete(ODataActionParameters parameters)
{
return this.Request.CreateResponse(HttpStatusCode.OK,db.Groups.Select(c => new
{
ID = c.ID,
DocumentType= c.DocumentType,
Name = c.Name ,
Debits = c.GroupMvtos.Sum(cm => cm.Debits) ?? 0,
Credits = c.GroupMvtos.Sum(cm => cm.Credits) ?? 0
}));
}
使用 httpget 方法将 ApiController 作为基类可以正常工作,但在 odata 操作中使用 EntitySetController 则不行。
有什么想法吗?
谢谢。
【问题讨论】:
标签: asp.net-web-api odata