从包含枚举的api中反序列化模型
本文关键字:反序列化 模型 api 包含 枚举 | 更新日期: 2023-09-27 18:09:36
我们正在使用ASP开发一个web应用程序。. Net MVC 5 c#,我有困难想出一个很好的解决方案,我的问题。
我们正在访问一个api,它有几个枚举作为文本(即:"是","否","未找到","na")在模型本身上,我想有强类型枚举存储在数据库中作为一个整数(节省一点空间,我认为)当我们反序列化来自api的响应时,问题就来了。在响应中,它将被视为文本(见上文),而enum将期望为整数。
这是怎么做的?我真的很讨厌问那些我没有尝试过任何东西,但我的网络搜索没有任何结果的问题。如果你需要任何代码,请让我知道,我会更新的问题与所需的部分。到目前为止,该模型有几个强类型枚举,api正在返回枚举值的字符串。顺便说一下,枚举文本与返回值相同。
如果它有任何不同,我们也使用EF Code First 6
您可以使用Enum.TryParse
将字符串转换为它的enum值
public enum MyEnum
{
NA
Yes,
No
}
然后MyEnum value = MyEnum.NA;
Enum.TryParse<MyEnum>(theTextValue, out value );