c# - 将枚举作为字符串存储在数据库中

标签 c# orm enums dapper

我正在试验 dapper。我有一个类,它有一个枚举,值作为字符串存储在数据库中。

这适用于使用 GenericEnumMapper 的 FluentNHibernate

是否可以用 Dapper 做同样的事情?

最佳答案

目前还没有内置,这里有一个建议的解决方案:http://code.google.com/p/dapper-dot-net/issues/detail?id=24我们尚未决定。我喜欢可扩展类型转换器的想法

目前最简洁的方法是定义影子属性,例如:

class MyType
{
   public MyEnum MyEnum {get; private set;}
   private string DBEnum { set { MyEnum = Convert(value);} }

   private MyEnum Convert(string val)
   {
     // TODO: Write me 
   } 
}

// cnn.Query<MyType>("select 'hello' as DBEnum")  <-- will set MyEnum

关于c# - 将枚举作为字符串存储在数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6192512/

相关文章:

c# - 单击按钮时调用 _Paint

c# - 自动实现属性的自动变量名是什么

django - 如何限制 Django 查询返回的列?

coldfusion - 使用 ColdFusion 框架

java - 安卓 Java : using enums

c# - routes.MapPageRoute 不适用于点?

c# - Visual Studio 2012 菜单 'analyze code coverage' 丢失

mysql - Sequelize 在查询中包含多个表

c# - 多少内存使用字节枚举,这是否优化了 C# 中的内存/速度?

C - 使用 fgetc 将值存储在枚举 'class' 中