小编Bia*_*kie的帖子

LinqToDB如何将枚举存储为字符串值?

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; }
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

这将在枚举中将指定值存储为数据库中的文本.

c# string enums linq2db

2
推荐指数
2
解决办法
1321
查看次数

标签 统计

c# ×1

enums ×1

linq2db ×1

string ×1