自定义ValueConverter以显示枚举值



我有一个映射到BasisOfFeeType枚举的BasisOfFe属性。

我如何确保当我查询web api端点时,它会返回一个"显示";枚举值的数据注释,而不是枚举值本身?

我检查了不同的Microsoft提供的valueType转换器,但找不到HashSet到value的类型转换器。

public class ProductSvc
{
public BasisOfFeeType BasisOfFee{get;set}
}
using System.ComponentModel.DataAnnotations;
public enum BasisOfFeeType
{
[Display(Name="Male Person")]
Male:1,
[Display(Name="Female Person")]
Female:2
}
public class ProductSvcEntityConfiguration: IEntityTypeConfiguration<ProductSvc>
{
public void Configure(EntityTypeBuilder<ProductSvc> builder)
{
builder.Property().HasColumnName("basis_of_fee").HasConversion(new 
EnumToNumberConvertor<BasisOfFeeType, byte>());
}
}

我能够通过更改BasisOfFeeType 使其工作

using System.RunTime.Serialization;
public enum BasisOfFeeType
{
[EnumMember(Value="Male Person")]
Male:1,
[EnumMember(Value="Female Person")]
Female:2
}

最新更新