我有一個OData V4在Asp.net WebApi(OWIN)。一切都很好,除非我嘗試查詢 4 級$expand.我的查詢看起來像:http://domain/entity1($expand=entity2($expand=entity3($expand=entity4)))我沒有收到任何錯誤,但我的回復(fù)中沒有預(yù)測最后一次展開。更多信息:我已經(jīng)設(shè)置MaxExpandDepth為 10。我所有的實體都是EntitySets.我正在使用ODataConventionModelBuilder.我打開了一個 SQL 分析器,可以看到查詢(和結(jié)果)是正確的。這是在執(zhí)行查詢后發(fā)生的一些過濾器。我在網(wǎng)上搜索過,沒有找到合適的。我嘗試了不同的實體 4 級別$expands,但它們也不起作用。編輯:我已經(jīng)覆蓋了OnActionExecuted:public override void OnActionExecuted(HttpActionExecutedContext actionExecutedContext){ base.OnActionExecuted(actionExecutedContext); var objectContent = actionExecutedContext.Response.Content as ObjectContent; var val = objectContent.Value; var t = Type.GetType("System.Web.OData.Query.Expressions.SelectExpandWrapperConverter, System.Web.OData"); var jc = Activator.CreateInstance(t) as JsonConverter; var jss = new JsonSerializerSettings(); jss.Converters.Add(jc); var ser = JsonConvert.SerializeObject(val, jss); }序列化值包含 entity4。我仍然不知道是什么組件刪除了管道中的 entity4。
- 1 回答
- 0 關(guān)注
- 181 瀏覽
添加回答
舉報
0/150
提交
取消