我有下面的类,它通过GET调用公开为oData服务
class Book
{
public string Id {get; set;}
public string Name {get; set;}
public Dynamicproperties Dictionary<string,object> {get; set;}
}
假设Book的对象包含以下数据
new Book
{
Id="1",
Name = "oData",
new Dictioanry<string,object>
{
{ "chapter1",
new Dictionary<string,object>
{
"page1",
new Dictionary<string,object>
{
"topic", "introduction"
}
}
}
}
}
我理解用户可以查询Book的属性,例如 http://localhost:1234/Books('1')/Name 并支持 这个查询我需要在BooksController中为这些属性提供getter。但是,用户如何查询嵌套字典中的属性。假设用户想知道的价值 第1章第1页的主题,用户如何查询?我该怎么做才能支持该查询?我无法理解。我将不胜感激任何帮助。
答案 0 :(得分:0)
我认为Web API OData现在不支持嵌套字典。实际上,
public Dictionary Dynamicproperties {get;设置;}
是一个容纳动态属性的容器。目前,动态属性可以是OData中定义的结构属性之一。
正如OData spec所说:
4.3结构属性
结构属性是具有以下类型之一的属性(结构类型):
·原始类型
·复杂类型
·枚举类型
·以上
之一的集合希望它可以提供帮助。感谢。