数据库字段枚举到C#列表

时间:2013-12-12 15:18:19

标签: c# mysql database list enums

在我的数据库中,我有一个Enum字段。我想将这些枚举属性放在C#中的List中。 我搜索但我找不到答案。这可能吗? 我使用MySqlDatabase。如果我想从数据库中获取行,我使用:

using (var uow = new UnitOfWorkScope<TrackerEntities>(UnitOfWorkScopePurpose.Reading))

在我的应用程序中,我使用实体框架

2 个答案:

答案 0 :(得分:1)

如果您在数据阅读器中加载数据,则这是sql-server方式。但请点击此处将string转换为enum

var list = new List<YourEnumType>();

var field= reader["DBFieldName"] != DBNull.Value ? reader["DBFieldName"].ToString()
                                                   : "";
var myField=(YourEnumType) Enum.Parse(typeof(YourEnumType ), field);    

list.Add(myField);

另请查看The ENUM Type

答案 1 :(得分:0)

您需要针对架构表进行查询以列出枚举值。

SELECT COLUMN_TYPE 
FROM INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = @TABLE_NAME AND 
      COLUMN_NAME = @COLUMN_NAME