从包含Enums的api反序列化模型

时间:2014-06-21 21:01:43

标签: c# asp.net-mvc enums ef-code-first deserialization

我们正在使用ASP.Net MVC 5 C#开发一个Web应用程序,我很难为我的问题找到一个很好的解决方案。

我们正在访问一个带有一些枚举的API作为文本(即"是","没有"," notfound",& #34; na")关于模型本身我希望有一个强类型的枚举,它作为一个整数存储在数据库中(我认为节省一点空间)当我们反序列化时出现问题来自api的回应。在响应中,它将作为文本(见上文)出现,其中枚举将期望一个整数。

这是怎么做到的?我真的很讨厌在我没有尝试任何问题的地方提问,但我的网络搜索没有任何结果。如果您需要任何代码,请告诉我们,我会根据所需的细分更新问题。截至目前,该模型有几个强类型枚举,api返回枚举值的字符串。顺便说一下enum文本与返回值相同。

如果有任何不同,我们也会使用EF Code First 6

1 个答案:

答案 0 :(得分:0)

您可以使用Enum.TryParse将字符串转换为其枚举值

public enum MyEnum
{
  NA
  Yes,
  No
}

然后

MyEnum value = MyEnum.NA;
Enum.TryParse<MyEnum>(theTextValue, out value );