问题描述
我有一个 OData API,想知道添加对自定义值类型/强类型对象的支持以便在序列化、反序列化和元数据生成过程中识别它的正确方法是什么。
比如说我有一个自定义的 Temperature
类型,它能够解析像 32°F
、50F
(无度数符号)、40°C
(摄氏度)这样的字符串等等。根据值和比例,在类中设置一个内部值,以便以后可以与其他 Temperature
实例进行比较。
现在,我希望能够在我的 OData 模型中公开 Temperature
类型的属性,并使其表现得像自定义字符串类型。应该
- 能够在发布数据时从文本表示中反序列化
- 能够在获取数据时序列化为文本表示
- 能够以字符串形式在过滤器表达式中使用
- 能够用作组合键的一部分,或作为主键本身
我无法在 OData .Net 库中找到任何明确的扩展点,也没有听说 oasis 规范中有任何此类支持。
我知道 .Net 中的一些内置类型在本地实现了此类支持,例如 DateTime
或空间类型。
有没有办法像这样添加对自定义类/结构的支持,如果是这样,如何进行?当前未在本机处理的 .Net 类型也是如此,例如 Uri
。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)