基于 Ormlite int 的枚举以 varchar(max) 的形式出现

Ormlite int based enums coming as varchar(max)

谁能告诉我如何正确地让 ORMLite 将枚举存储为整数?我知道这在 2012 年不受支持,但我发现一些单元测试的代码表明它现在应该可以工作,但事实并非如此。当我们尝试在 ms sql 中将列创建为 varchar(max)。我们目前使用包装 属性 忽略将枚举值转换为 int 但是你不能将它用于查询等所以它不太理想。

向您希望 ServiceStack 将其视为整数的枚举添加 [Flags] 属性。

From v4.0.54 您还可以使用 [EnumAsInt] 属性,它将枚举保存为 OrmLite 中的 int 但仍将其序列化为字符串。