为了账号安全,请及时绑定邮箱和手机立即绑定

嵌套 $expands 的 Asp.net WebApi OData V4 问题

嵌套 $expands 的 Asp.net WebApi OData V4 问题

C#
湖上湖 2021-08-22 17:18:47
我有一个OData V4在Asp.net WebApi(OWIN)。一切都很好,除非我尝试查询 4 级$expand.我的查询看起来像:http://domain/entity1($expand=entity2($expand=entity3($expand=entity4)))我没有收到任何错误,但我的回复中没有预测最后一次展开。更多信息:我已经设置MaxExpandDepth为 10。我所有的实体都是EntitySets.我正在使用ODataConventionModelBuilder.我打开了一个 SQL 分析器,可以看到查询(和结果)是正确的。这是在执行查询后发生的一些过滤器。我在网上搜索过,没有找到合适的。我尝试了不同的实体 4 级别$expands,但它们也不起作用。编辑:我已经覆盖了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 回答

  • 1 回答
  • 0 关注
  • 169 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信