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

标签 c# string enums linq2db

LinqToDB 能否将枚举属性的值存储为枚举的字符串值而不是整数值?

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
}

关于c# - LinqToDB 如何将枚举存储为字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29618262/

相关文章:

c - 在 C 中,如何检查一个字符串是否包含 2 个数字、1 个字母和 4 个数字?

c++ - 我应该如何检查基础类型值是否为枚举值?

c# - ASP.NET MVC 中 POST 后消息反馈的最佳实践

c# - 循环依赖 - 再一次

c# - 锁能开多深?

regex - 如何替换 nginx 变量字符串中的字符?

c++ - string::find 问题 (C++)

java - 如何覆盖所有枚举类的 toString() 方法?

Java - 枚举和构造函数内的函数/变量的问题

c# - 如何在不进行广泛搜索的情况下根据 2 个条件获取对象?