我正在尝试扩展实体中的子实体,但会收到以下错误:400 Bad Request
查询选项'展开'不被允许。要允许它,请设置' AllowedQueryOptions' QueryableAttribute或QueryValidationSettings上的属性。
我设置[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]
这个属性但没有运气,然后也发出同样的错误。
这是我的URI:
localhost/OData/Ticket?$expand=Location
我也试图获取记录数,但数量也不适用于我。这是我的URI计数。
localhost/OData/Ticket?$count=true
但在这里我也收到400 Bad request error with following message:
查询参数' $ count'不受支持。
我做了很多谷歌并发现了一些相关的问题,但这对我不起作用。这是我的代码:
控制器:
公共类ODataTicketController:ODataController
{
[ODataRoute]
[EnableQuery(AllowedQueryOptions = AllowedQueryOptions.All)]
public IQueryable<Ticket> Get()
{
return db.Tickets;
}
}
请帮忙解决此问题。
谢谢。
答案 0 :(得分:0)
最后在我的控制器上处理所有odata查询。只需要IuttpActionResult的IQueryable。现在它的工作正常。这是更新的控制器。
public class ODataTicketController : ODataController
{
[EnableQuery]
public IHttpActionResult<Ticket> Get()
{
var result = db.Tickets;
return Ok(result);
}
}
希望它会对某人有所帮助。
谢谢。