LinqToDB 可以将 Enum 属性的值存储为 Enum 的字符串值而不是整数值吗?

public enum OrderType
{
    New,
    Cancel
}

[Table("Orders")]
public class Order
{
    [PrimaryKey, Identity]
    public int OrderId { get; set; }

    [Column]
    public OrderType Type { get; set; }
}

如何让 LinqToDB 将“新建”或“取消”存储到数据库而不是 0 或 1?

更新: 似乎 LinqToDB 的答案是在枚举上设置 MapValue 属性。我一直试图找到在数据对象上指定它的位置。
public enum OrderType
{
    [LinqToDB.Mapping.MapValue(Value = "NEW")]
    New,
    [LinqToDB.Mapping.MapValue(Value = "CANCEL")]
    Cancel
}

这会将枚举上的指定值作为文本存储在数据库中。

最佳答案

似乎 LinqToDB 的答案是在枚举上设置 MapValue 属性。我一直试图找到在数据对象上指定它的位置。

public enum OrderType
{
    [LinqToDB.Mapping.MapValue(Value = "NEW")]
    New,
    [LinqToDB.Mapping.MapValue(Value = "CANCEL")]
    Cancel
}

10-08 07:33