【发布时间】:2019-08-23 11:25:39
【问题描述】:
我通过参考 https://github.com/OData/ODataSamples/tree/master/WebApiCore/DynamicEdmModelCreation 完成了动态 edm 模型的创建。
我已将 odata 查询选项添加到上述项目中。 $filter, $top, $count, $select(without expand) 工作成功。但是当我查询~/odata/Products?$expand=DetailInfo 时 - 它没有返回 DetailInfo 的任何值。任何人都可以帮我解决上述问题
EdmEntityObject entity = new EdmEntityObject(entityType);
entity.TrySetPropertyValue("Name", "abc");
entity.TrySetPropertyValue("ID", 1);
entity.TrySetPropertyValue("DetailInfo", CreateDetailInfo(88,"abc_detailinfo", entity.ActualEdmType));
collection.Add(entity);
entity = new EdmEntityObject(entityType);
entity.TrySetPropertyValue("Name", "def");
entity.TrySetPropertyValue("ID", 2);
entity.TrySetPropertyValue("DetailInfo", CreateDetailInfo(99, "def_detailinfo", entity.ActualEdmType));
collection.Add(entity);
执行上述代码后,集合包含 2 个值,每个值具有 3 个属性、2 个结构属性(名称、id)和 1 个保存 DetailInfo 值的导航属性。
当前输出:
[{"Name":"abc","ID":1},{"Name":"def","ID":2}]}
预期输出:
[{"Name":"abc","ID":1, "DetailInfo":{"ID":88,"Title":"abc_detailinfo"}},{"Name":"def","ID":2, "DetailInfo":{"ID":99,"Title":"def_detailinfo"}}]}
【问题讨论】: