【发布时间】:2018-08-24 16:44:38
【问题描述】:
我有一个看起来像这样的实体:
public class Item
{
public int Id { get; set; }
public IDictionary<string, object> Settings { get; set; }
}
OData 自动生成以下 JSON 输出,将 JSON 属性置于实体级别:
{
"@odata.context":"http://localhost/odata/$metadata#Items",
"value":[
{
"Id":1,
"Setting1":"Value",
"Setting2":10
}
]
}
我不希望这样,因为我的 JSON 可能有一个同名的属性,这将导致错误:动态属性“Id”的名称已被用作开放类型的声明属性名称。
如何禁用 OData 对开放类型的自动映射?
【问题讨论】: