Abd*_*mon 17 c# odata asp.net-web-api-odata ignite
我正在使用OData Web API for Version 4,当我尝试使用$top参数查询OData web Api时,它会返回以下异常消息.
URI中指定的查询无效.已超出Top查询的限制"0".传入请求的值为"10"
我使用Apache Ignite dotNet LINQ作为数据源而不是Entity Framework,我的OData控制器操作方法如下:
[EnableQuery]
public IQueryable<Productioncurvepnl> GetProductioncurvepnl()
{
Console.WriteLine("Starting query to ignite");
var q = AIgniteClient.IgniteClient.Instance.ProductionCurvePnLCache.AsCacheQueryable().Select(c => c.Value);
return q;
}
Run Code Online (Sandbox Code Playgroud)
ogr*_*rim 46
因为Web API OData V6.0.0您需要启用查询选项才能使其工作.这可以在全球范围内完成WebApiConfig.Register(HttpConfiguration config)
config.Select().Expand().Filter().OrderBy().MaxTop(null).Count();
Run Code Online (Sandbox Code Playgroud)
或直接在您的模型上,进行细粒度配置:
[Page(MaxTop = 100)]
public class Products
Run Code Online (Sandbox Code Playgroud)
如果您使用的是Model Bound Fluent API且无法添加属性,则需要附加查询选项.例如.Page(50, 50):
builder.EntitySet<AccountRecordDto>("Accounts").EntityType.Expand(1,
"Transactions").Count().Page(50, 50);
Run Code Online (Sandbox Code Playgroud)
更多细节可以在文档中找到
在 Startup.cs 中添加以下内容对我有用
config.Select().Expand().Filter().OrderBy().MaxTop(null).Count();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7117 次 |
| 最近记录: |