【发布时间】:2020-04-17 20:38:11
【问题描述】:
我有一个类似这样的枚举:
public enum Type
{
TypeA,
TypeB,
TypeC
}
我使用 Fluent API 和 Entity Framework 3.0:
builder.Entity<Element>()
.Property(p => p.Type)
.HasConversion<int>();
这会转换传入的字符串并将其作为 int 保存在数据库中。但是,当我进行查询以将其从数据库中拉出时,它会保持一个 int。
我已阅读文档,但似乎无法理解:
如何获取 Enum 的字符串 - 将其转换为 DB 的 int - 然后在查询 DB 时接收字符串?
我想也许它正在使用 EnumToNumberConverter 但它需要两个参数,我不知道第二个参数应该是什么。如这些文档中所示:https://docs.microsoft.com/en-us/ef/core/modeling/value-conversions
谁能给我一个具体的例子,说明我在存储在数据库中时如何将枚举的字符串转换为整数,然后在查询它时再次获得枚举的字符串?
谢谢。
【问题讨论】:
-
这能回答你的问题吗? Getting attributes of Enum's value
标签: c# entity-framework enums entity-framework-core asp.net-core-webapi