在 C# 中定义模型类时,我可以使用 Enum,它默认将整数值保存到数据库中。我想定义一个类似枚举的类,它有一个短字符串或常量值要保存到数据库中,并且在代码中引用它时要显示不同的值。
例如:信用卡提供商的枚举将是......
public enum CreditCardProvider
{
Visa = 1,
[Display(Name ="Master Card")]
MasterCard = 2,
[Display(Name ="American Express")]
AmericanExpress = 3
}
我想使用一个基本上工作原理非常相似的对象,但返回一个常量/字符串值而不是整数,例如:
public class CreditCardProvider
{
Visa = "VI",
[Display(Name ="Master Card")]
MasterCard = "MC",
[Display(Name ="American Express")]
AmericanExpress = "AX"
}
这可能吗?在我的 C# 模型中,CreditCardProvider 类将保留代码(VI、MC、AX),而不是保存整数值的 CreditCardProvider 枚举类型。
我尝试过创建结构,它对于填充下拉列表效果很好,但对于支持实体框架不太有效。
您可以为 EF 模型的属性定义自己的转换器。看看https://stackoverflow.com/a/72082977/1838048