如何将ODataEnumValue转换为CLR枚举类型?

时间:2015-04-14 11:51:09

标签: asp.net-web-api odata

在从FilterQueryOption遍历表达式树时,我有一个ODataEnumValue的实例。我想知道如何以通用方式将其转换为相应的CLR枚举类型值(即无需自己查找实际的CLR类型)。

2 个答案:

答案 0 :(得分:1)

也许你可以参考ODataEnumDeserializer的ReadInline方法,如果它在EdmModel中,它会将ODataEnumvalue转换为CLR枚举类型。

答案 1 :(得分:0)

可以通过获取ClrTypeAnnotation的{​​{1}}来检索枚举类型,如下所示。首先从TypeReference实例获取模型:

FilterQueryOption

然后,稍后解析其IEdmModel _model = filterQueryOption.Context.Model; 时,例如FilterClause

ConstantNode