[英]Manually applying OData query options using Breeze and still return InlineCount
[英]Get route using OData and custom query options
我們有一個控制器,它在get路徑中需要一些參數,但是像$top
這樣的OData函數不起作用。
根據文檔它(自定義查詢選項)應該正常工作只是在自定義選項聲明@
前綴但它不是:
@
作為前綴(如文檔中所建議),參數filtro
未被填充並獲取其所有屬性的默認值。 $top
函數被忽略,我得到的記錄太多了(2K +)。 這里有一個類似的東西的另一個答案 ,但我們使用的OData V3沒有明確的Edm Model Builders,它是推斷的。
你們有沒有解決這個問題?
這是我的代碼:
GET請求:
~/ProdutosRelevantes?$top=5&
filtro.Cnpjs[0]=00000000000001&
filtro.DataInicio=2018-01-01&
filtro.DataFim=2018-12-01&
filtro.IndMercado=2&
控制器方法:
[HttpGet]
public IHttpActionResult ProdutosRelevantes([FromUri] ParametrosAnalise filtro)
{
var retorno = GetService().GetProdutosRelevantes(filtro);
return Content(HttpStatusCode.OK, retorno);
}
public class ParametrosAnalise { public Guid IdCliente { get; set; } public string[] Cnpjs { get; set; } public DateTime? DataInicio { get; set; } public DateTime? DataFim { get; set; } public EnumEscopoMercado? IndMercado { get; set; } // Enum declaration public enum EnumEscopoMercado { [Description("INCLUI NACIONAL")] InternoEExterno = 1, [Description("EXTERIOR")] Externo = 2 } }
謝謝。
您是否在動作中使用[EnableQuery]裝飾器啟用了oData? 或者在你的HttpConfiguration => config.EnableQuerySupport()中?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.