2013-12-12 19 views
-4

在我的數據庫中有一個枚舉字段。我想把這些枚舉屬性放在C#中的列表中。 我搜索了但我找不到答案。這可能嗎? 我使用MySqlDatabase。如果我想從數據庫中獲取的行我用:數據庫字段枚舉到C#列表

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

在我的應用程序使用實體框架

+2

什麼樣的數據庫? MySQL的? –

+0

您使用的是什麼類型的數據訪問? – Liam

+7

也接受一些你的問題的答案。你有12個未被接受的問題。 – Liam

回答

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

+0

我不使用讀卡器。我有一個實體框架 – Jeffrey

+0

@Jeffrey:你見過[this](http://blogs.msdn.com/b/alexj/archive/2009/06/05/tip-23-how-to-fake-enums-在-EF-4.aspx)?? –

+1

@Jeffrey,這就是爲什麼我問*你使用什麼類型的數據訪問*。如果你只問半個問題,你的答案不會有用。 – Liam

0

你需要做一個查詢針對該架構表列出枚舉值。

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